0

ページがロードされると(最初のドロップダウン(div StatusID)がmysql dbから動的に入力される)、またはユーザーが最初のドロップダウンボックスからUnemployed --EIを選択すると、divstatus_sub_6は2番目のselectステートメントを表示します。

私の.hide.show関数は変更時に正常にアクティブになりますが、最初の選択(StatusID)の動的に入力された値が比較基準を満たしている場合でも、この関数はページの読み込み時に2番目のドロップダウンリストを非表示にします。

次の.jsコードをオーバーライドするonload関数が必要だと確信していますが、追加のコードを作成する際に少し助けていただければ幸いです。

JavaScript:

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

     $('#StatusID').change(function () {
        if ($('#StatusID option:selected').text() == "Unemployed - EI"){
            $('#status_sub_6').show();
        }
         else { 
              $('#status_sub_6').hide();
         }
    });
});
4

3 に答える 3

1

これを行うには、ロードの直後に変更イベントをトリガーします。

$(document).ready(function(){
    ...
    // your current code
    ...
    $('#StatusID').trigger('change'); // trigger a change
});
于 2013-03-26T18:37:00.190 に答える
0

試す:

$(function() {
   $('#status_sub_6').hide();
   $(document).on('change', '#StatusID', function () {
      if ($('#StatusID option:selected').text() == "Unemployed - EI"){
        $('#status_sub_6').show();
      }
      else { 
        $('#status_sub_6').hide();
      }
   });

   $('#StatusID').change();
});
于 2013-03-26T18:33:05.773 に答える
0

これを行うこともできます:

$(document).ready(function(){
    if ($('#StatusID option:selected').text() == "Unemployed - EI"){
        $('#status_sub_6').hide();
    }

     $('#StatusID').change(function () {
        if ($('#StatusID option:selected').text() == "Unemployed - EI"){
            $('#status_sub_6').show();
        }
         else { 
              $('#status_sub_6').hide();
         }
    });
});

またはもう少しエレガントなソリューション:

$(document).ready(function () {
    toggleSub();

    $('#StatusID').change(function () {
        toggleSub();
    });
});

function toggleSub() {
    if ($('#StatusID option:selected').text() == "Unemployed - EI") {
        $('#status_sub_6').hide();
    }
    else {
        $('#status_sub_6').show();
    }
}
于 2013-03-26T18:45:41.483 に答える