![](/img/trans.png)
[英]Javascript SELECT BOX options dependent on other SELECT BOX option selected
[英]Javascript - Form Select Box syntax for selected option
if (document.myform.mycheckbox.checked)
如果選中了復選框,請執行以下操作...
...對於選擇框選項,哪一行代碼會執行相同的操作?
if (document.myform.myselectbox.myselection.selected)
像那樣嗎 我似乎找不到我想要的東西。
我在做什么在這里:
您正在尋找:
if (document.myform.myselectbox.selectedIndex != -1)
當沒有選擇任何內容時,索引返回-1
。
如果您實際上想要所選選項的內部值或文本字符串,則可以按索引訪問它:
var selObj = document.myform.myselectbox;
var selIndex = selObj.selectedIndex;
var selOptionValue = selObj.options[selIndex].value;
var selOptionText = selObj.options[selIndex].text;
但是,您需要注意,該行為還取決於您如何顯示它。 如果您未指定“選擇”某個特定選項,則使用“單個”選擇元素(例如“下拉”),則認為第一個選項(索引0
)已被選擇,因為這是它在視覺上的顯示方式。
<select>
<option>red</option><!-- "selected" by default when rendered -->
<option>orange</option>
<option>yellow</option>
...
</select>
如果選擇元素的大小屬性大於1(例如6),則在視覺上沒有選擇,因此默認情況下該元素將返回-1(如果未選擇)
<select size="6">
<option>red</option><!-- NOT "selected" by default when rendered -->
<option>orange</option>
<option>yellow</option>
...
</select>
無論哪種方式,您都可以使用如下代碼來確定要執行的操作:
var mySelect = document.myform.myselectbox;
var selIndex = mySelect.selectedIndex;
if(selIndex != -1){
//an option is selected
if(selIndex == 0){
//first option is selected
} else if(selIndex == 1){
//second is selected
} else if(selIndex == 2){
//third is selected
}
} else {
//no option is selected
}
您也可以使用switch / case語句編寫此代碼,我剛剛對此進行了擴展以指示一些值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.