好吧,我要求做的事情可能看起来很奇怪(因为我知道这不是最好的方法)
这是我的 jquery 代码:
$('.save_ref').live('click',function(){
var project_ref_input=$('.project_ref_input').val();
$('.project_ref').append(project_ref_input);
});
我有一个表,我通过 .append() 动态向其中添加行,然后我在每行的末尾有一个名为 project_ref_input 的输入和一个保存按钮。我需要做的是,当用户输入某些内容并按下“保存”时,输入文本将被 append 到名为 .project_ref 的 p 标签中。但是,我在新表中有多行,因此当我将值放入输入时,它们的 append 值都是相同的!?
这就是我制作表格的方式:
$('#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>');
最佳答案
您正在使用全局选择器来选择元素。
$('.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);
});
关于jQuery append 多个元素不仅仅是(this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4095687/