Mam inną sytuację, w której wartości listy rozwijanej są już zakodowane na stałe. Istnieje tylko 12 okręgów, więc kontrolka interfejsu użytkownika autouzupełniania jQuery nie jest wypełniana kodem.
Rozwiązanie jest dużo łatwiejsze. Ponieważ musiałem przedzierać się przez inne słupki, w których zakładano, że kontrolka jest dynamicznie ładowana, nie znajdowałem tego, czego potrzebowałem, i w końcu to rozgryzłem.
Więc jeśli masz HTML, jak poniżej, ustawienie wybranego indeksu jest ustawione w ten sposób, zwróć uwagę na część -input, która jest dodatkiem do rozwijanego identyfikatora:
$('#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>
Inną rzeczą, jaką odkryliśmy w kontrolce autouzupełniania, jest to, jak prawidłowo ją wyłączyć / opróżnić. Mamy 3 kontrolki współpracujące ze sobą, 2 z nich wzajemnie się wykluczają:
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();
}
});
Niektóre z nich wykraczają poza zakres postu i nie wiem, gdzie dokładnie to umieścić. Ponieważ jest to bardzo pomocne i zajęło trochę czasu, aby się zorientować, jest udostępniane.
Und Również ... aby włączyć taką kontrolę, jest (wyłączona, fałszywa) i NIE (włączona, prawda) - to również zajęło trochę czasu, aby się zorientować. :)
Jedyną inną rzeczą, na którą należy zwrócić uwagę, oprócz postu, jest:
$('#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());
}
});
Wszyscy się dzielili, ponieważ nauczenie się tych rzeczy w locie zajęło zbyt dużo czasu. Mam nadzieję, że to jest pomocne.