jQuery附加多个元素不仅仅是(这个)

时间:2010-11-04 10:25:01

标签: jquery input append

好的,这可能看起来很奇怪我要求做的事情(因为我知道这不是最好的方法)

这是我的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>');

2 个答案:

答案 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的帮助