ฉันมีselect
เขตข้อมูลฟอร์มที่ฉันต้องการทำเครื่องหมายเป็น "อ่านได้อย่างเดียว" เนื่องจากในผู้ใช้ไม่สามารถแก้ไขค่าได้ แต่ค่านั้นยังคงส่งมาพร้อมกับแบบฟอร์ม การใช้disabled
แอ็ตทริบิวต์ป้องกันผู้ใช้จากการเปลี่ยนค่า แต่ไม่ส่งค่าด้วยแบบฟอร์ม
readonly
แอตทริบิวต์จะใช้ได้เฉพาะinput
และtextarea
สาขา แต่ที่เป็นพื้นสิ่งที่ฉันต้องการ มีวิธีใดบ้างที่จะทำงานนี้ได้?
สองความเป็นไปได้ที่ฉันกำลังพิจารณารวมถึง:
- แทนที่จะปิดใช้งานให้ปิดการ
select
ใช้งานทั้งหมดoption
และใช้ CSS เพื่อเลือกตัวเลือกสีเทาเพื่อให้ดูเหมือนว่าถูกปิดใช้งาน - เพิ่มตัวจัดการเหตุการณ์การคลิกไปที่ปุ่มส่งเพื่อให้สามารถเปิดใช้งานเมนูดร็อปดาวน์ที่ปิดใช้งานทั้งหมดก่อนส่งแบบฟอร์ม
trafalmadorian
workest ดีที่สุด มันปิดการใช้งานอินพุตทั้งหมดที่ไม่ได้เลือก มันจะทำงานถ้ามันเลือกเปิดใช้งานหลายตัวเลือก$('#toSelect')find(':not(:selected)').prop('disabled',true);