0

我有一堆文本框,我选择使用带有 Jquery 的切换来显示和隐藏更改事件。

$(".category_check").change(function(){

//alert("abhiram")
// alert()
//alert($(this).data('category'))
$("#" + $(this).data('category')).toggle();
});

现在,当我刷新该框时仍然选中。勾选仍然保留在复选框中,并且应该切换的文本框不可见。当我取消选中该框时,它再次出现。未选中时显示和选中时隐藏的相反逻辑仅针对该复选框发生。我究竟做错了什么?

这是与脚本关联的rails应用程序视图中的代码

 <label>Categories</label>
      <% ClipCategory.all.each do |category| %>
          <%= form_tag "update_amount", :remote => :true do %>
          <div class="span12">
            <div class="category_check pull-left" data-category="category_text_<%= category.id %>">
              <%= check_box_tag "category", 1, ( @performer.clip_category_ids.include?(category.id) ? "checked" : false ), :class => "pull-left" %>  
              <%= label_tag "category", category.name, :class => "pull-left category_label" %> 
            </div>
            <div id="category_text_<%= category.id%>" class="category_text">
              <%= number_field_tag "amount", @amount, :class => "pull-left input-medium" %>
              <%= hidden_field_tag "category_id", category.id %>
              <%= submit_tag "Update" %>
             </div>
          </div>
            <br />
          <% end %>
4

1 回答 1

0

你需要触发chane事件

$(".category_check").change(function(){

//alert("abhiram")
// alert()
//alert($(this).data('category'))
$("#" + $(this).data('category')).toggle();
}).filter(':checked').change();
于 2013-09-10T07:08:41.240 回答