簡體   English   中英

Javascript-所選選項的表單選擇框語法

[英]Javascript - Form Select Box syntax for selected option

if (document.myform.mycheckbox.checked)

如果選中了復選框,請執行以下操作...

...對於選擇框選項,哪一行代碼會執行相同的操作?

if (document.myform.myselectbox.myselection.selected)

像那樣嗎 我似乎找不到我想要的東西。

我在做什么在這里:

鏈接到Nada Workola

您正在尋找:

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.

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