我有一个动态创建的表单,用户可以单击“添加行”并获取表单中的新元素。将值添加到jQuery中的未知元素ID
一些元素是数量和价格。我想根据用户输入的内容更改值。所以如果他选择qty = 4和价格= 10我想达到= 40。
我不知道用什么来作为价格或金额的选择器,因为输入ID是动态生成的。
var form = "<tr><td>Quantity</td>
<td><input class='qty' type='text' id='qty[]' name='qty[]'></td>";
form += "<td>Part Num</td>
<td><input type='text' id='part[]' name='part[]'></td>";
form += "<td>Description</td>
<td><input class='desc' type='text' id='desc[]' name='desc[]'></td>";
form += "<td>Unit Price</td>
<td><input type='text' id='price[]' name='price[]'></td>";
form += "<td>Amount</td>
<td><input type='text' id='amount[]' name='amount'></td></tr>";
$('#addItem').click(function(){
$('#itemsTable').append(form);
});
$(document).on('change','.qty',function(){
//What can i use as a selector for value_of_qty and value_of_price here???
//var total = $(value_of_qty) * $(value_of_price);
//$(id_of_amount).val(total);
});
在表单提交我看到以下内容:
[qty] => Array
(
[0] => asdfdasf
[1] => asdfdasf
)
and so on....
在我看来,就像你周围的'form'变量,其中包含您希望动态追加到'#itemsTable'元素,当用户点击'#addItem的HTML闭包'。没有迹象表明您在此过程中的任何时候都会动态更改该HTML。所以_all_添加的行最终会为其'input'元素具有完全相同的'id'属性值,这是不允许的,因为页面上的所有'id'属性值必须是唯一的。我在这里错过了什么吗? – bgoldst 2015-01-20 20:55:34
那么作为一个测试,我有一个提交按钮,看看它会看到什么形式发送。它显示了每个字段(数组数组('0'='x','1'='y')...等等...... – bart2puck 2015-01-20 20:57:00
请参阅编辑bgoldst .. – bart2puck 2015-01-20 20:59:35