จะแสดงตัวเลือกปิดใช้งาน HTML เลือกโดยค่าเริ่มต้นได้อย่างไร


149

ฉันยังใหม่กับ HTML และ PHP และต้องการใช้เมนูแบบเลื่อนลงจากตาราง mysql และฮาร์ดโค้ดด้วย ฉันมีหลายตัวเลือกในหน้าของฉันหนึ่งในนั้นคือ

<select name="tagging">
    <option value="">Choose Tagging</option>
    <option value="Option A">Option A</option>
    <option value="Option B">Option B</option>
    <option value="Option C">Option C</option>
</select>

ปัญหาคือตอนนี้ผู้ใช้ยังสามารถเลือก "เลือกการแท็ก" เป็นแท็กของเขาได้ แต่ฉันต้องการให้เขาเลือกจากสามรายการที่มีอยู่เท่านั้น ฉันใช้ปิดการใช้งานเป็น

<select name="tagging">
    <option value="" disabled="disabled">Choose Tagging</option>
    <option value="Option A">Option A</option>
    <option value="Option B">Option B</option>
    <option value="Option C">Option C</option>
</select>

แต่ตอนนี้ "ตัวเลือก A" กลายเป็นค่าเริ่มต้น ดังนั้นฉันต้องการตั้งค่า "เลือกการแท็ก" เป็นค่าเริ่มต้นและต้องการปิดการใช้งานจากการเลือกด้วย มันเป็นวิธีการทำเช่นนี้ สิ่งเดียวกันต้องทำด้วยตัวเลือกอื่นซึ่งจะดึงข้อมูลจาก Mysql ข้อเสนอแนะใด ๆ จะได้รับการชื่นชม


วิธีเพิ่มเหตุการณ์การคลิกบนเลือกเพื่อปิดใช้งานตัวเลือกแรก
David Blacksmith

คุณต้องแก้ไขข้อผิดพลาดทางไวยากรณ์ - value = "" disabled should be disabled = "disabled" + ลบแท็กปิด </select> คี่
Evgeniy

@Evgeniy อ๊ะ </select> เป็นส่วนอื่นของรหัสของฉัน
Ankit Sharma

@AnkitSharma ฉันแก้ไขรหัสของคุณ - คุณมี </select><select> <option> ... <option> </select>
Evgeniy

@Evgeniy thanx ..... </select> ถูกคัดลอกจากรหัสของฉันโดยไม่ได้ตั้งใจ
Ankit Sharma

คำตอบ:


304

ใช้

<option selected="true" disabled="disabled">Choose Tagging</option>    

46
คุณไม่จำเป็นต้องใส่trueหรือdisabledค่า คุณสามารถทำได้โดยการทำ<option selected disabled>Choose Tagging</option>
Sam Eaton

19
@ SamEaton เพียงแค่ทำให้โค้ดเป็นไปตามไวยากรณ์ XHTML ที่ถูกต้องมิฉะนั้นใน HTML5 คุณสามารถละเลยได้
Cris

1
คุณควรตั้งค่า = "" ดังนั้นหากคุณต้องการด้วยข้อผิดพลาดจะถูกยกขึ้นเพื่อเลือกจากเมนูแบบเลื่อนลงมิฉะนั้นจะส่งผ่านค่าว่างแม้ว่าจะไม่ได้เลือกอะไรก็ตาม <option selected="true" disabled="disabled" value="">Choose Tagging</option>
user34612


10

ฉันรู้ว่าคุณถามถึงวิธีปิดใช้งานตัวเลือกนี้ แต่ฉันคิดว่าผลลัพธ์ที่เห็นของผู้ใช้ปลายทางจะเหมือนกันกับโซลูชันนี้แม้ว่าจะมีความต้องการทรัพยากรน้อยกว่าเล็กน้อยก็ตาม

ใช้แท็กoptgroupดังนี้:

<select name="tagging">
    <optgroup label="Choose Tagging">
        <option value="Option A">Option A</option>
        <option value="Option B">Option B</option>
        <option value="Option C">Option C</option>
    </optgroup>
</select>

3
ไม่ได้ผลต้องเลือก OP เป็นค่าเริ่มต้นjsfiddle.net/tomsihap/5xm7grnb
tomsihap

10

Electron + React ให้สองตัวเลือกแรกของคุณเป็นแบบนี้

<option hidden="true>Choose Tagging</option>
<option disabled="disabled" default="true">Choose Tagging</option>

อันดับแรกจะแสดงเมื่อปิดวินาทีเพื่อแสดงก่อนเมื่อรายการเปิดขึ้น


8

ใช้hidden.

<select>
   <option hidden>Choose</option>
   <option>Item 1</option>
   <option>Item 2</option>
</select>

สิ่งนี้ไม่ได้เป็นการยกเลิกการตั้งค่า แต่คุณสามารถซ่อนได้ในตัวเลือกในขณะที่แสดงโดยค่าเริ่มต้น


7

โซลูชันแท็ก SELECT อื่นสำหรับผู้ที่ต้องการเว้นว่างตัวเลือกแรกไว้

<label>Unreal :</label>
<select name="unreal">
   <option style="display:none"></option>
   <option>Money</option>
   <option>Country</option>
   <option>God</option>
</select>



3

เราสามารถปิดการใช้งานโดยใช้เทคนิคนี้

<select class="form-control" name="option_select">
  <option selected="true" disabled="disabled">Select option </option>
  <option value="Option A">Option A</option>
  <option value="Option B">Option B</option>
  <option value="Option C">Option C</option>
</select>

1

หากคุณใช้ jQuery เพื่อเติมองค์ประกอบที่คุณเลือกคุณสามารถใช้สิ่งนี้:

html

<select id="tagging"></select>

js

array_of_options = ['Choose Tagging', 'Option A', 'Option B', 'Option C']

$.each(array_of_options, function(i, item) {
    if(i==0) { sel_op = 'selected'; dis_op = 'disabled'; } else { sel_op = ''; dis_op = ''; }
    $('<option ' + sel_op + ' ' + dis_op + '/>').val(item).html(item).appendTo('#tagging');
  })

สิ่งนี้จะช่วยให้ผู้ใช้เห็นตัวเลือกแรกเป็นส่วนหัวที่ปิดใช้งาน ('เลือกการแท็ก') และเลือกตัวเลือกอื่น ๆ ทั้งหมด

ป้อนคำอธิบายภาพที่นี่


0
            <select name="dept" id="dept">
                <option value =''disabled selected>Select Department</option>
                <option value="Computer">Computer</option>
                <option value="electronics">Electronics</option>
                <option value="aidt">AIDT</option>
                <option value="civil">Civil</option>
            </select>

ใช้ "SELECTED" ซึ่งคุณต้องการเลือกตามค่าเริ่มต้น ขอบคุณ


คำแนะนำนี้ได้โพสต์ไว้แล้วสำหรับคำถามนี้ที่นี่: stackoverflow.com/a/42997841/2943403 คำตอบของคุณไม่ได้เพิ่มค่าใหม่ให้กับเพจและมีส่วนช่วยในการขยายหน้าเท่านั้น
mickmackusa

-1

คุณสามารถตั้งค่าตัวเลือกที่ถูกเลือกโดยค่าเริ่มต้นดังนี้:

<option value="" selected>Choose Tagging</option>

ฉันขอแนะนำให้ใช้ javascript และ JQuery เพื่อสังเกตเหตุการณ์การคลิกและปิดใช้งานตัวเลือกแรกหลังจากเลือกตัวเลือกอื่น: ขั้นแรกให้รหัสองค์ประกอบดังนี้:

<select id="option_select" name="tagging">

และตัวเลือก id:

<option value="" id="initial">Choose Tagging</option>

แล้ว:

<script type="text/javascript">

$('option_select').observe(click, handleClickFunction);

จากนั้นคุณก็สร้างฟังก์ชัน:

function handleClickFunction () {

if ($('option_select').value !== "option_select") 
{
   $('initial').disabled=true; }
}

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.