2013-03-11 58 views
0

我在Rails3中调用AJAX和替换结果绑定jQuery的锁定了选择框与阿贾克斯

的coffee.js表一个简单的形式是

id_handler = -> 
     $.ajax 
      url: "/surveys_search" 
      data: 
      id: $(this).val() 
      name: $(this).prop("name") 

    input_handler = -> 
     $.ajax 
      url: "/surveys_search" 
      data: 
      search: $(this).val() 
      name: $(this).prop("name") 

    $(document).ready -> 
     $(document).on "change", "select", id_handler 
     $(document).on "keyup", "input", input_handler 


     $("#survey_active").bind "change", -> 
     $.ajax 
      url: "/surveys_search" 
      data: 
      survey_active: (if $(this).is(":checked") then 1 else 0) 

我的形式是

<div class="well well-small"> 
    <h4>Quick search</h4> 
    <dl class="dl-horizontal"> 
     <dt><strong>Quiz:</strong></dt> <dd> 
     <%= text_field_tag :surveys_search, params[:surveys_search], :class=>"text-field" %> 
     <%= select_tag 'survey_select', options_from_collection_for_select(Survey.all, 'id', 'name'),:prompt=>"All"%> 
     <strong>Published?</strong> <%= check_box_tag 'survey_active' %> 

     </dd> 
     <dt><strong>Prize:</strong></dt> <dd><%= text_field_tag :prizes_search, params[:prizes_search], :class=>"text-field" %> <%= select_tag 'prize_select', options_from_collection_for_select(Prize.all, 'id', 'name'),:prompt=>"All"%></dd> 
     <dt><strong>Location:</strong></dt> <dd><%= text_field_tag :locations_search, params[:prizes_search], :class=>"text-field" %> <%= select_tag 'location_select', options_from_collection_for_select(Location.all, 'id', 'name'),:prompt=>"All"%></dd> 
    </dl> 
    </div> 

我的问题是,当我改变下拉的值,选择框变得不可改变,直到我然后重新点击另一个元素,然后尝试重新更改它。

切实履行其锁定选择下拉当我改变它

在形式上面我改变TOP /第一选择下拉,再经过AJAX调用顶部选择向下被锁定,同时底部/第三选择框也是焦点,我同时获得了两个焦点对象

有人可以解释如何避免它吗?

回答

0
id_handler = -> 
    $.ajax 
     url: "/surveys_search" 
     data: 
     id: $(this).val() 
     name: $(this).prop("name") 
     success: $(this).blur() 
+0

我知道这个作品,但想知道为什么它不工作没有它...... – user1320651 2013-03-11 14:07:37