如何获得选择值?

时间:2013-09-16 23:37:35

标签: javascript

我有这个代码获得seletedIndex == 1并且当selectedindex == 1时使div可见,我想要做的是使selectvalue不是索引。请教我。我是javascript的新手。 if(document.frmregister.n_mode.selectedIndex == 1)就像这样将selectedIndex == 1更改为selectvalue?

function BID_RFQ() {
    if (document.frmregister.n_mode.selectedIndex == 1) {
        document.getElementById("bidrfq").style.visibility = 'visible';
        document.getElementById("bidrfq").style.overflow = 'visible';
    } else if (document.frmregister.n_mode.selectedIndex == 2) {
        document.getElementById("bidrfq").style.visibility = 'visible';
        document.getElementById("bidrfq").style.overflow = 'visible';
    } else {
        document.getElementById("bidrfq").style.visibility = 'hidden';
        document.getElementById("bidrfq").style.overflow = 'hidden';
    }
    return true;
}

3 个答案:

答案 0 :(得分:1)

你在寻找这个,我相信:

document.frmregister.n_mode.options[document.frmregister.n_mode.selectedIndex].value

答案 1 :(得分:0)

如果您需要所选选项的value,则可以使用.value元素的select属性获取该选项。

console.log(document.frmregister.n_mode.value);

这会自动为您提供所选.value元素的option,或者如果没有定义value,它会为您提供.text option 1}}。

演示: http://jsfiddle.net/WdMTJ/


请注意,正如@RobG所述,如果.text元素没有<option>属性,则IE8及更低版本不会返回value。因此,您需要确定已明确包含这些值。

答案 2 :(得分:0)

<html>
  <head>
    <script>
function BID_RFQ() {
    var n_mode = document.getElementById('n_mode');
    var bidrfq = document.getElementById('bidrfq');

    console.log(n_mode);
    /* Here's the important part. */
    var selectedOptionValue = n_mode.options[n_mode.selectedIndex].value;

    var visibility='visible',overflow='visible';

    if (selectedOptionValue  != 'One' && selectedOptionValue!='Two') {
      visibility=overflow='hidden';
    }

    bidrfq.style.visibility = visibility;
    bidrfq.style.overflow = overflow;

    return true;
}
    </script>
  </head>
  <body>
   <form id='frmregister'>
    <select id='n_mode' onchange='BID_RFQ()'>
      <option>One</option>
      <option>Two</option>
      <option>Three</option>
    </select>
    </form>

    <div id="bidrfq">bidrfq</div>
  </body>
</html>