1

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;
}
4

3 に答える 3

1

あなたはこれを探しています、私は信じています:

document.frmregister.n_mode.options[document.frmregister.n_mode.selectedIndex].value
于 2013-09-16T23:41:50.363 に答える
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>
于 2013-09-16T23:49:29.653 に答える
0

選択したオプションの が必要な場合は、要素のプロパティでvalue取得できます。.valueselect

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

.valueこれにより、選択したoption要素の が自動的に表示さvalueれます。定義されていない場合は、 が.text表示されますoption

デモ: http://jsfiddle.net/WdMTJ/


@RobG が以下で述べているように、要素に属性がない.text場合、IE8 以前は を返さないことに注意してください。そのため、値が明示的に含まれていることを確認する必要があります。<option>value

于 2013-09-16T23:41:09.970 に答える