Я как бы написал себя в угол и надеялся, что есть «легкий» выход. Я пытаюсь выполнить цикл вещей на моей странице и создать пару ключ: значение. Вот моя структура:jQuery .val() Selector Confusion
<div class="divMapTab" id="divMapTab34">
<div class="divFieldMap">
<select class="selSrc" id="selTargetnamex"><options....></select>
</div>
</div>
<div class="divMapTab" id="divMapTab87">
<div class="divFieldMap">
<select class="selSrc" id="selTargetnamex"><options....></select>
</div>
</div>
Это гораздо сложнее, чем это, и есть много выбора элементов внутри каждого divFieldMap дел.
Вот моя функция JS, которая строит свою строку:
function Save() {
var sSaveString = '';
$('.divMapTab').each(function() {
var thisId = this.id;
$('.selSrc', "#" + thisId).each(function() {
var thisSubId = this.id;
//alert(thisSubId); <-- HERE IS THE PROBLEM
var sTargetCol = thisSubId.replace('selTarget', '');
var sValue = this.val();
sSaveString += sTargetCol + '¸' + sValue + '·';
});
});
}
На линии, которая имеет окно с предупреждением и текст «здесь проблема» в том, что я пытаюсь получить выбранное значение «текущего» элемента ввода select, но идентификатор этого элемента не уникален (я думал, что это будет, но я испортил). Есть ли хороший способ внутри «каждого» типа выражения jQuery использовать «это», чтобы получить точный элемент выбора, который я действительно ищу, даже если у него нет уникального идентификатора?
Повторяющиеся идентификаторы всегда будут приводить к выкидыванию компьютера из окна. Исправьте повторяющиеся идентификаторы – PetersenDidIt
Я бы это сделал, но мы находимся в суровом сроке, и, честно говоря, я боюсь, что я буду трахаться с 150-строчной функцией JS, которая делает эти элементы выбора. Это не мой код, и я думаю, что я просто сломаю его. 150 строк JS? Кто, черт возьми, так много извинится за наказание!?!? –
Серьезно, исправьте свои повторяющиеся идентификаторы перед этим хитом. –