的jsfiddle供参考:从一个输入传值到另一个jQuery的
我想要做的是,如果“添加”在第2行,新形式的用户点击元素显示在下面。
然后,用户类型在该新形式元素的数目,点击“添加”按钮,则该数字将在第二行的串行输入#和新形式元素被填充然后是隐藏的。
我有麻烦的部分是曾经在数到新的表单元素的用户类型,我怎么知道该发回的第二排。
非常感谢。
的jsfiddle供参考:从一个输入传值到另一个jQuery的
我想要做的是,如果“添加”在第2行,新形式的用户点击元素显示在下面。
然后,用户类型在该新形式元素的数目,点击“添加”按钮,则该数字将在第二行的串行输入#和新形式元素被填充然后是隐藏的。
我有麻烦的部分是曾经在数到新的表单元素的用户类型,我怎么知道该发回的第二排。
非常感谢。
你可以这样做:
var index;
$(".addSerial").click(function(){
index = $(this).closest('tr').index();
console.log(index);
$("#serialAdd").toggle();
});
$("#submitSerial").click(function(){
$('table tr:eq('+index+') input:first').val($("#serialToAdd").val());
$("#serialAdd").toggle();
});
当这些控件呈现你必须ID这样你可以很容易地识别控件,并添加值的序列号,每个控制。
检查这方面的工作样本。 http://jsfiddle.net/UxQV7/18/
你将不得不存储参考值的地方(在一个全局变量,例如),表示该<a>
被点击,显示序列号进入<div>
或在飞行中动态创建它,之后摧毁它。
保存在变量的当前行,然后过滤文本框出它的值设置为:http://jsfiddle.net/UxQV7/1/。
var currentRow; // will be <tr> of row where user has clicked on Add
$(".addSerial").click(function(){
currentRow = $(this).parents('tr'); // set current row
$("#serialAdd").toggle();
});
$("#submitSerial").click(function(){
$("#serialAdd").toggle();
currentRow.find(':text:eq(2)').val($('#serialToAdd').val());
// find correct textbox in row and copy value
});
您可以使用jQuery的prev()
获得目标输入并保存:
var activeField;
$(".addSerial").click(function(){
$("#serialAdd").toggle();
activeField = $(this).prev();
return false;
});
$("#submitSerial").click(function(){
$("#serialAdd").toggle();
activeField.val($("#serialToAdd").val());
$("#serialToAdd").val("")
});
当用户在当前显示新行的同时单击另一行上的“添加”时会发生什么?旧的添加尝试是否被遗忘,或者用户是否可以同时为N行创建添加框?在这种情况下,我认为你会更好地使用jQuery UI对话框。 – Tejs
这是一个好主意。谢谢。 – wkm
感谢大家的建议! – wkm