У мене інша ситуація, коли значення випадаючого списку вже жорстко закодовані. Є лише 12 районів, тому елемент керування інтерфейсом автозаповнення jQuery не заповнюється кодом.
Рішення набагато простіше. Оскільки мені довелося перебирати інші пости, де передбачалося, що елемент керування динамічно завантажується, я не знайшов того, що мені потрібно, а потім нарешті зрозумів це.
Отже, де у вас є 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>
Щось ще з’ясовано в елементі керування автозаповненням - це те, як його правильно відключити / очистити. У нас є 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());
}
});
Всі поділились, бо надто довго вчилися цим речам на льоту. Сподіваюся, це корисно.