работа с динамической формой

Runapa

Постоялец
Регистрация
30 Окт 2010
Сообщения
63
Реакции
5
Здравствуйте.
Нашел в инете скрипт создания динамических форм.

Код:
<script type="text/javascript">
    var total = 0;
    function add_new_field(){
        total++;
        $('<tr>')
        .attr('id','tr_image_'+total)
        .css({lineHeight:'20px'})
      
        .append(
           $('<td valign="top">')
           .attr('id','code')
            .append(
                $('<input type="text" />')
                .css({width:'160px'})
                .attr('id','code[]')
                .attr('name','code[]')
            )                           
        )
        .append (
            $('<td valign="top" align="center">')
            .css({width:'40px'})
            .append (
                $('<span id="progress_'+total+'" class="padding5px"><a  href="#" onclick="$(\'#tr_image_'+total+'\').remove();" class="ico_delete"><img src="img/delete.png" alt="del" border="0"></a></span>')
            )
        )
        .appendTo('#table_container');
    }
    $(document).ready(function() {
        add_new_field();
    });
</script>

А вопрос у меня такой -
При добавлении второго линии поля, в код страницы добавляется id = code[]. Как мне получить доступ к этому полю через js ?
Я хочу суммировать значения двух полей инпут и вставлять его в третье поле. С первой линией вроде получилось, а с теми полями что генерируются динамически никак не выходит...
 
$('[name="code[]"]').val(Значение) - найти элемент с name="code[]" и записать туда значение. (так можно искать input с любым именем)
$('#code[]').val(Значение) - найти по id (code[]) и записать значение.

Если полей с name или id со значением code[] несколько, то стоит вот так задавать $('#code[]:eq(N)').val(Значение), где N - номер нужного input по счету.
 
А можете показать на конкретном примере ? Функция ниже прекрасно меняет значения полей input первой линии. Но вот распространить эффект на другие линии не удаётся. Когда я пробую тот синтаксис что вы мне дали, консоль выкидывает ошибку - Uncaught Error: Syntax error, unrecognized expression : ]

Код:
    function sum() {
        var
            price = $('td#price input').val(),
            quantity = $('td#quantity input').val();
            $("td#summa input").val(price * quantity);
    }
  
    $(document).ready(function() {
        $('td#price input, td#quantity input').keyup(sum);
        $('td#summa input').change(sum);
    });
 
Последнее редактирование:
Назад
Сверху