0

onchange と onclick イベントを実行してみましたが、両方に問題があります。コードを実行すると、Firebug から showTextBox 関数が定義されていないことが通知されます。

State ドロップダウンで値 1 が選択されている場合<div>、テキスト ボックスを保持する を表示する必要があります。オプションタグのonclick属性を移動し、onchange属性を試しましたが、それでもshowTextBox()がFirebugで定義されていません。

<select id="AddrType" onclick="showTextBox();"
        height="30px" style="width: 90px"> 
  <option value="10"></option>
  <option value="0">City</option>
  <option value="1">State</option>
  <option value="2">Zip</option>
</select>   

 <br />

 <div id="stateText" style="visibility: hidden">
   State <input type="text" id="STATE"/>
 </div>

onclick または onchange イベントがトリガーされたときに呼び出される関数を次に示します。

function showTextBox() {
    console.log("in check Drop down");
    if ($('#AddrType').val() == 'State') {
        $('#stateText').style.visibility = 'visible';
    }
    console.log($('#AddrType').val());

これについて何か助けてください。私はそれをグーグルで検索しましたが、うまくいくものを見つけることができないようです。機能が使えませんdocument.getElementById()

4

2 に答える 2

0

あなたがチェックしているのではなく、あなたval()はおそらく戻ってきています。"1""State"

jQueryだけでなく、フォームデータをサーバーにPOSTすると、の値は選択した要素の属性にAddrTypeなります(この場合の「City / State / Zip」は値の「キャプション」にすぎません)。valueoption

于 2013-03-05T17:16:31.097 に答える
0

これを試して:

<script type='text/javascript'>

  $(document).ready(function(){
       $('#AddrType').change(function(){
           if ($(this).val() == '1') {
               $('#stateText').css({'display':'block'});           
           }
        });
  });


</script>

選択をこれに更新します:

   <select id="AddrType" height="30px" style="width: 90px"> 
     <option value="10"></option>
     <option value="0">City</option>
     <option value="1">State</option>
     <option value="2">Zip</option>
  </select>   

また、これは完全に正常に機能します。

   <select id="AddrType"  onchange="showTextBox()" height="30px" style="width: 90px"> 
      <option value="10"></option>
      <option value="0">City</option>
      <option value="1">State</option>
      <option value="2">Zip</option>
  </select>

showTextBox() の場所:

   function showTextBox(){
        if ($('#AddrType').val() == '1') {
                   $('#stateText').css({'visibility':'visible'});
    }
于 2013-03-05T17:25:12.497 に答える