#javascript #jquery #validation #dropdown
#javascript #jquery #проверка #выпадающий
Вопрос:
В lineItemIds
я получаю идентификаторы всех выпадающих списков. На первой итерации я получаю выбранное значение из первого выпадающего списка, но на остальных итерациях я получаю undefined
. Здесь я проверяю динамически сгенерированные выпадающие списки:
var submitForApproval = function(event) {
var lineItemIds = $('input[name="lineItemIds"]').val();
var ok = true;
var i;
var individualId =lineItemIds.split(",");
for(i = 0; i <= individualId.length; i ) {
alert(individualId[i]);
var value = $("select[id='" individualId[i] "'] option:selected").val();
if (value == 'Select' ) {
ok = false;
break;
}
}
if (!ok) {
return;
}
});
Комментарии:
1. пожалуйста, покажите html-часть этого
2. Вам не нужно
option:selected
. Значение aselect
совпадает со значением выбранной опции.3. У вас есть пробелы вокруг
,
вlineItemIds
? Используйте.trim()
для удаления пробелов в концах.4. Вместо
[id=xxx]
использования#xxx
.5. Без HTML мы можем только предполагать, что могут происходить определенные вещи. Поэтому, пожалуйста, предоставьте HTML и сделайте его фрагментом, чтобы другим было легко отлаживать
Ответ №1:
замените эту строку, она будет работать.
var value = $("select[id='" individualId[i] "'] option:selected").val();
var value = $("#" individualId[i]).val();
также проверьте, что находится в вашем массиве, используя.
console.log(individualId[i]);