0

助けてください、何百万もの方法を試しましたが、まだ機能しません: 選択/オプション ボックスから更新または最終を選択すると、入力フィールドがある div が表示されます。デフォルトが switch ステートメントに示すことだけを行います。もちろん、入力フィールドを表示するかどうかを決定したいのは、選択が行われた後でのみです。

頭の部分に…

$(document).ready(function(){  
$('#needfilenum').hide();  
var optionValue = $("#needtoshow").val();  

switch (optionValue)  
{  
case 'update':  
$("#needfilenum").show();
break;  

case 'final':  
$("#needfilenum").show();  
break;  
default:  
$("#needfilenum").hide();  
break;  
    }
});
//});

'<select id="needtoshow" >  
<option id="dfaut" value="0">Select Something</option>
<option id="update" value="update">Update</option>
<option id="final" value="final">Final</option>
<option id="allergy"value="allergy">Vegan</option>  
</select>
<div id="needfilenum"  style="background:#f00;">  
<input type="text" name="wharever"   />
</div>  

スイッチのデフォルトを変更できますが、それが何を示しているかを示しているようです

//  $("#needtoshow").change(function() {  

//      switch ($(this).val())
4

5 に答える 5

4

ドロップダウンが変更されたときに div を表示および非表示にする場合は、変更イベントにバインドする必要があります。次に例を示します。

$(document).ready(function() {
  $('#needfilenum').hide();

  $('#needtoshow').bind('change', function() {
    var optionValue = $("#needtoshow").val();

    switch (optionValue)
    {
      case 'update':
      case 'final':
        $("#needfilenum").show();
        break;

      default:
        $("#needfilenum").hide();
        break;
    }
  });
});

コードでは、switch ステートメントは、ページが最初に読み込まれたときに 1 回だけ実行されます。

于 2009-11-06T23:33:40.357 に答える
2

おそらく、選択ボックスにイベントリスナーをバインドしたいと思うでしょう。( change event ) したがって、次のようなものがあります。

$("#oldfilenum").change(function() {
  var optionValue = $(this).val();
  switch (optionValue) { 
    case 'update': 
      $("#needfilenum").show(); 
      break; 
    case 'final ': 
      $("#needfilenum").show(); 
      break; 
    default: 
      $("#needfilenum").hide(); 
  } 
};
于 2009-11-06T22:37:05.153 に答える
1

次のようなことを試してください:

var selectBox = $("#oldfilenum"), magicDiv = $("#needfilenum");
selectBox.bind("change", function() {
    var val = this.value;
    if (val === "update" || val === "final") {
        magicDiv.show();
    } else {
        magicDiv.hide();
    }
});

もちろんswitch、代わりに使用することも[]、許容できる値を持っていてit.indexOf(val) > -1、何でもすることもできます。

ビクターが別の回答についてコメントしたように、MSIE で発生するため、それが問題である場合は別のイベントを使用することをおchange勧めしますblurmouseup

于 2009-11-06T22:36:32.550 に答える
0

change()イベントを調べる必要があります。それをあなたに添付して、<select>あなたのロジックを実行してください。

于 2009-11-06T22:35:49.913 に答える
0

チェック機能は、選択フィールドを変更するたびにではなく、1 回だけ実行されます。選択フィールドに onchange ハンドラーを配置する必要があります。

<select id="needtoshow" onchange="your_function_name_here()">
于 2009-11-06T23:32:36.597 に答える