1

何らかの理由で、一部の選択は機能しますが、ほとんどは機能しません。何が間違っているのかわかりません。助けてもらえますか?これは codepen のライブ デモです: http://codepen.io/AlexBezuska/pen/dHmge My jQuery:

$('#ddlOffice option').hide();
    $('#ddlBusiness').change(function(){
      var selectedBusiness = $( "#ddlBusiness option:selected").val();
      selectedBusiness = parseFloat(selectedBusiness);
      $('#ddlOffice option').hide();
      $('#ddlOffice option[value="'+selectedBusiness+'"]').show();
      $('#txtBusiness').val($( "#ddlBusiness option:selected").text());
    });

     $('#ddlOffice').change(function(){
      $('#txtOffice').val($( "#ddlOffice option:selected").text());
    });

ボーナス ポイント: jQuery を使用せずにこれを実行したいと思います。生の JavaScript で表示および非表示を行う簡単な方法に関するヒントがあれば、または jQuery を使用せずにフォークを実行したい場合は、すばらしいでしょう。

ありがとう!

4

2 に答える 2

0

私はあなたのjQueryコードを書き直しましたが、今ではうまくいっているようです( fiddle ):

$(function() {
    $('#ddlOffice option').hide();
    $('#ddlBusiness').change(function(){
        var selectedBusiness = parseFloat($("#ddlBusiness").val());
        $('#ddlOffice option').hide();
        $('#ddlOffice option[value="' + selectedBusiness + '"]').show();
        $('#txtBusiness').val($("#ddlBusiness option:selected").text());
    });
    $('#ddlOffice').change(function(){
        $('#txtOffice').val($(this).find("option:selected").text());
    });
});

考えてください:

  1. HTML の前に JavaScript を配置する場合は、jQuery でdocument.readyorを使用することを忘れないでください。$(function(){ })
  2. #ddlOfficeselectで行ったのと同じ値のオプションを持つことはできません。同じ値を返すオプションを使用する目的は何ですか?!
  3. option秒で のいずれかを閉じていませんselect
于 2013-10-07T19:13:52.013 に答える