簡體   English   中英

HTML <select>元素的默認selectedIndex是否可以為-1而不運行頁面范圍的JavaScript?

[英]Can an HTML <select> element have a default selectedIndex of -1 without running page-wide javascript?

我的網站上有幾個地方需要“組合框”樣式控件。 為此,我將組合框控件封裝到.NET服務器端組件中以實現可重用性。 有些頁面可能有一個組合框,有些可能沒有。

在核心,這個組合框包含一個文本框和一個與CSS適當對齊的“下拉列表”。 部分HTML呈現簡單:

<select>
    <option>Option 1</option>
    <option>Option 2</option>
    <option>Option 3</option>
    <option>Option 4</option>
</select>

下拉列表必須從空開始,並且更改為任何值(包括“選項1”)必須觸發onchange事件。

我通過做類似的事情來實現這一點:

document.getElementById("theSelectElement").selectedIndex = -1;

但我不想對頁面上的每個元素運行javascript。 我意識到我可以使用jQuery來選擇CSS類,但大多數頁面上都沒有select元素,什么都不會發生。

有沒有辦法設置封裝在標簽本身的selectedIndex? 就像是:

<select selectedIndex="-1">...

要么

<select onload="this.selectedIndex = -1">...

選擇是無線電狀態持有者,因此沒有“未選擇”狀態

<select name="aaa">
    <option value=""></option>
    <option>Option 1</option>
    <option>Option 2</option>
    <option>Option 3</option>
    <option>Option 4</option>
</select>

順便說一句,你可以使用一個空的<option>

您可以使用以下內容:默認情況下,將自動選擇第一個選項

<select name="aaa">
    <option value="0">select any option</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
</select>

以下是select的一些文檔: http//www.w3.org/TR/html4/interact/forms.html#h-17.6

如果您已將其包裝在自己的用戶控件或自定義控件中,則需要公開公開defaultSelection屬性(或任何您命名的屬性),以便在服務器標記中指定它。

您談到在<select>標記中執行此操作,但這是HTML標記 - 而不是<ASP:DropDown ... ><myControl:CustomSelect ... >的服務器端標記

編輯:如果它是純HTML,那么只輸出帶有selected屬性集的默認選擇:

<select>
    <option value="1">Top</option>
    <option selected="selected" value="-1">Middle (Empty)</option>
    <option value="2">End</option>
</select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM