Добавить данные из массива в пустой ввод с помощью jQuery - PullRequest
1 голос
/ 27 августа 2010

У меня есть несколько динамически генерируемых входов.У некоторых есть идентификаторы, у некоторых нет. У меня также есть массив идентификаторов.Мне нужно перебрать массив идентификаторов и ввести следующий доступный идентификатор в следующий ввод без значения.Я пытался

$.each(event_array, function(intIndex, objValue){
  $('.event-data').find('.event-id').each(function(i){
    $(".event-id:empty").val(objValue);
  });
});

И

$('.event-data').find('.event-id').each(function(i){
  $(".event-id").val(event_array[i]);
});

Очевидно, что второй не ищет значения ввода, а первый использует: пустой, который я обнаружил, не являетсядля чего я его использую.

Есть идеи, что мне нужно, чтобы это работало?Спасибо !!

1 Ответ

2 голосов
/ 27 августа 2010

Это отфильтрует элементы .event-id для элементов, которые не имеют значения, затем передаст функцию в .val(), которая возвращает элемент массива, соответствующий текущему индексу.

$('.event-data .event-id').filter(function() {
    return this.value === '';  // filter items that don't have a value
})
.val(function(i,val) { return event_array[i]; }); // Call .val() on the resulting
                                                  //   set, using the i value of
                                                  //   each to get the next item
                                                  //   from your array

Для передачи функции на .val() требуется jQuery 1.4 или более поздняя версия.

...