的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