好的,这可能看起来很奇怪我要求做的事情(因为我知道这不是最好的方法)
这是我的jquery代码:
$('.save_ref').live('click',function(){
var project_ref_input=$('.project_ref_input').val();
$('.project_ref').append(project_ref_input);
});
我有一个表,我正在通过.append()动态添加行。然后我在每行的末尾有一个名为project_ref_input的输入和一个保存按钮。我需要做的是当用户输入内容并按下save时,输入文本将附加到名为.project_ref的p标签上。但是我在新表中有多行,所以当我将值放入输入时,它们会将它们全部相加!?
这就是我制作表格的方式:
$('#items').append('<tr class="tableRow"><td><a class="removeItem" href="#"><img src="/admin/images/delete.png"></img></a><td class="om_part_no">' + omPartNo + '</td><td>' + supPartNo + '</td><td>' + cat + '</td><td class="description">' + desc + '</td><td>' + manuf + '</td><td>' + list + '</td><td>' + disc + '</td><td class="price_each_nett price">' + priceEach + '</td><input type="text" class="project_ref_input" name="project_ref_input" /><p class="project_ref"></p></tr>');
答案 0 :(得分:2)
您正在使用全局选择器来选择元素。
$('。project_ref_input') - 获取类“project_ref_input”的所有元素
您需要更具体地了解要处理的输入。
如果您在“保存”按钮之前直接输入,则可能有效:
$('.save_ref').live('click',function(){
var project_ref_input=$(this).prevAll().find('.project_ref_input').val();
$('.project_ref').append(project_ref_input);
});
答案 1 :(得分:1)
$('.project_ref_input').live('change',function(){
var project_ref_input=$(this).val();
$(this).next().append(project_ref_input);
});
这最终奏效了!
感谢Silver Light的帮助