我有另一种情况,下拉列表值已经被硬编码。只有12个地区,因此jQuery Autocomplete UI控件不会被代码填充。
解决方案要容易得多。因为我不得不遍历假定控件正在动态加载的其他帖子,所以没有找到我需要的东西,然后终于找到了答案。
因此,在具有如下所示HTML的位置,设置选定索引的设置是这样的,请注意-input部分,它是下拉ID的补充:
$('#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();
}
});
其中一些超出了帖子的范围,我不知道确切地放在哪里。由于这是非常有用的,并且花了一些时间来弄清楚,因此正在共享。
同样,要启用这样的控件,它(禁用,错误)和非(启用,true)也要花一些时间才能弄清楚。:)
除了帖子之外,还有一点需要注意的是:
$('#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());
}
});
所有人共享,是因为花了很长时间才能即时学习这些东西。希望这会有所帮助。