繁体   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