0

リンクをクリックすると、ポップアップ (Twitter Bootstrap) が表示され、その中に国という選択フィールドがあり、米国を選択すると、米国のすべての州が別の選択フィールドに自動入力されます。テキストフィールドが表示されます。

リンクを閉じた後に初めてリンクをクリックすると機能し、リンクをもう一度クリックすると、スクリプトが読み込まれません。

原因がわかりません、助けてください。

スクリプトは次のとおりです。

div class="row-fluid">
<div class="span4">
  <%= f.label :Country %>
  <%= country_select("job", "country",[], :include_blank => "Select country") %>
</div>
<div class="span4">  
  <%= label_tag "State"%>
  <%= f.select :state, options_for_select(Contact::STATES) %>
  <%= text_field_tag "state_name", "", :class => "text_state"%>
</div>
<div class="span4"> 
  <%= label_tag "City"%>
  <%= f.text_field :city %>
</div>
</div><br/>

<script>

$("#job_country").click(function() {
$a = $("#job_country option:selected").text();
if ($a == "United States") {
  $("#job_state").show();
  $(".text_state").hide();
}
else
{
  $("#job_state").hide();
  $(".text_state").show();
}
});
});  
</script>
4

4 に答える 4

0

これを試して、

イベントをトリガーしようとしている場合、ポップアップのロード後にクリックイベントで失敗しました

 $(document).ready(function(){
      $('body').on('click','#job_country'function() {
         $a = $(this).val();
         if ($a == "United States") {
           $("#job_state").show();
           $(".text_state").hide();
         }
         else
         {
           $("#job_state").hide();
           $(".text_state").show();
         }
       });
    });  
于 2013-08-27T11:01:08.963 に答える
0

選択ボックスの変更時に関数をトリガーしようとしていると仮定します

 $("#job_country").change(function() {
    $a = $(this).val();
    if ($a == "United States") {
      $("#job_state").show();
      $(".text_state").hide();
    }
    else
    {
      $("#job_state").hide();
      $(".text_state").show();
    }
    });
于 2013-08-27T10:59:00.757 に答える