ฉันมีสถานการณ์ที่แตกต่างออกไปซึ่งค่ารายการแบบหล่นลงได้รับการเข้ารหัสอย่างหนักแล้ว มีเพียง 12 เขตเท่านั้นดังนั้นการควบคุม UI ของการเติมข้อความอัตโนมัติ 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());
}
});
แชร์ทั้งหมดเนื่องจากใช้เวลานานเกินไปในการเรียนรู้สิ่งเหล่านี้ในทันที หวังว่านี่จะเป็นประโยชน์