我在jQuery
中连接选择器时出现问题。我有一个动态生成的表单,用于创建包含5个项目行的估算。我需要通过乘以项目成本和项目数量来计算总成本。我有以下代码:
NumberOfLinesInForm = 5;
var id;
for (i = 0; i < NumberOfLinesInForm; i++) {
document.write(i);
$('#ItemCost' + 'id', '#ItemQuantity' + 'id').keyup(function () {
var ItemQuantityItem + 'id' = parseFloat($('#ItemQuantity' + 'id').val()) || 0;
var ItemCostItem + 'id' = parseFloat($('#ItemCost' + 'id').val()) || 0;
$('#ItemCostTotal' + 'id').val(ItemQuantityItem * ItemCostItem);
});
}
我正在尝试在jQuery
:
$('#ItemCost1', '#ItemQuantity1').keyup(function () {
var ItemQuantityItem1 = parseFloat($('#ItemQuantity1').val()) || 0;
var ItemCostItem1 = parseFloat($('#ItemCost1').val()) || 0;
$('#ItemCostTotal1').val(ItemQuantityItem1 * ItemCostItem1);
});
非常感谢任何帮助!
答案 0 :(得分:1)
只需在单个字符串中编写选择器,而不是:
$('#ItemCost1', '#ItemQuantity1').keyup(function(){
你用这个:
$('#ItemCost1, #ItemQuantity1').keyup(function(){
当您使用它时,使用两个参数,第二个参数用于表示上下文,因此永远不会选择#ItemQuantity1
:http://api.jquery.com/jQuery/
接下来,如果要连接变量,必须不能是字符串,所以这样:
$('#ItemCost' + 'id', '#ItemQuantity' + 'id').keyup(function(){
应该是:
$('#ItemCost' + id + ', #ItemQuantity' + id).keyup(function(){
接下来,这不起作用:
var ItemQuantityItem + 'id' = ...
您正在定义一个变量,然后向其中添加一个字符串并为其分配所有值。