У меня другая ситуация, когда значения выпадающего списка уже жестко запрограммированы. Существует всего 12 районов, поэтому элемент управления jQuery Autocomplete UI не заполняется кодом.
Решение намного проще. Потому что мне пришлось пробираться через другие сообщения, где предполагалось, что элемент управления загружается динамически, не находил то, что мне нужно, а затем, наконец, понял это.
Итак, если у вас есть HTML, как показано ниже, настройка выбранного индекса задается следующим образом, обратите внимание на часть -input, которая является дополнением к раскрывающемуся идентификатору:
$('#project-locationSearch-dist-input').val('1');
<label id="lblDistDDL" for="project-locationSearch-input-dist" title="Select a district to populate SPNs and PIDs or enter a known SPN or PID." class="control-label">District</label>
<select id="project-locationSearch-dist" data-tabindex="1">
<option id="optDistrictOne" value="01">1</option>
<option id="optDistrictTwo" value="02">2</option>
<option id="optDistrictThree" value="03">3</option>
<option id="optDistrictFour" value="04">4</option>
<option id="optDistrictFive" value="05">5</option>
<option id="optDistrictSix" value="06">6</option>
<option id="optDistrictSeven" value="07">7</option>
<option id="optDistrictEight" value="08">8</option>
<option id="optDistrictNine" value="09">9</option>
<option id="optDistrictTen" value="10">10</option>
<option id="optDistrictEleven" value="11">11</option>
<option id="optDistrictTwelve" value="12">12</option>
</select>
Что-то еще, что выяснилось в элементе управления Autocomplete, - это как правильно его отключить / очистить. У нас есть 3 элемента управления, работающих вместе, 2 из них исключают друг друга:
spnDDL.combobox({
select: function (event, ui) {
var spnVal = spnDDL.val();
$('#project-locationSearch-pid-input').val('');
$('#project-locationSearch-pid-input').prop('disabled', true);
pidDDL.empty();
}
});
spnDDL.siblings('label').tooltip();
pidDDL.combobox({
select: function (event, ui) {
var pidVal = pidDDL.val();
$('#project-locationSearch-spn-input').val('');
$('#project-locationSearch-spn-input').prop('disabled', true);
spnDDL.empty();
}
});
Кое-что из этого выходит за рамки статьи, и я не знаю, где именно это разместить. Поскольку это очень полезно, и на то, чтобы понять это, потребовалось некоторое время, им делятся.
Отменить также ... чтобы включить такой элемент управления, он (отключен, ложь) и НЕ (включен, истина) - это тоже заняло некоторое время, чтобы понять. :)
Единственное, что нужно отметить, помимо сообщения, это:
$('#project-locationSearch-dist').combobox({
select: function (event, ui) {
$('#project-locationSearch-pid-input').prop('disabled', false);
$('#project-locationSearch-spn-input').prop('disabled', false);
pidDDL.empty();
spnDDL.empty();
GetSPNsByDistrict(districtDDL.val());
GetPIDsByDistrict(districtDDL.val());
}
});
Все они были общими, потому что нужно было слишком много времени, чтобы научиться этим вещам на лету. Надеюсь, это будет полезно.