JQuery добавление нескольких элементов не только (это) - PullRequest
1 голос
/ 04 ноября 2010

Хорошо, это может показаться странным, что я прошу сделать (потому что я знаю, что это не лучший способ сделать это)

Это мой код jquery:

$('.save_ref').live('click',function(){ 
                var project_ref_input=$('.project_ref_input').val();
                $('.project_ref').append(project_ref_input);
            });

У меня есть таблица, и я динамически добавляю в нее строки с помощью .append (), затем у меня есть вход в конце каждой строки с именем project_ref_input и кнопка сохранения. Что мне нужно сделать, это когда пользователь вводит что-то и нажимает сохранить, чтобы вводимый текст добавлялся к тегу p с именем .project_ref. Однако у меня есть несколько строк в новой таблице, поэтому, когда я помещаю значения во входные данные, они все равно добавляются к ним!?

Вот как я делаю таблицу:

$('#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 ]

2 голосов
/ 04 ноября 2010

Вы используете глобальные селекторы, чтобы выбрать ваши элементы.

$ ('. 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 голос
/ 04 ноября 2010
$('.project_ref_input').live('change',function(){ 
                    var project_ref_input=$(this).val();
                    $(this).next().append(project_ref_input);
                });

Это сработало в конце!

Спасибо за помощь Silver Light

...