我有一个新的批处理表单,用户可以使用复选框从div中选择书籍,然后单击按钮将它们放在代表所选书籍的另一个div中。
它有点像列表框,用户可以在不同的框之间移动项目,除了这里使用复选框和div。
我已经使用jquery将书籍从一个div移动到另一个div。
见下面的代码:
<% form_for @batch do |f| %>
<label style="width: 150px">Batch Name:</label><%= f.text_field :BAT_BATCH_NAME %>
<div id="all_books">
<% @books.each do |book| %>
<div id="book<%= book.BK_OID %>" bookid="<%= book.BK_OID %>" class="innertxt">
<ul>
<li>Book ID: <%= book.BK_OID %></li>
<li>Name: <%= book.BK_NAME %></li>
<li>
<input type="checkbox" name="batch[book_ids][]" id="select<%= book.BK_OID %>" value=<%= book.BK_OID %> class="selectit" />
</li>
</ul>
</div>
<% end %>
<div style="width:100px; text-align:center; margin-left:20px; padding-top: 100px; width:75px; float:left;">
<a href="javascript:void(0);" id="move_right">Right »</a><br /><br />
<a href="javascript:void(0);" id="move_left">« Left</a>
</div>
<div id="selected_books"> </div>
<br/><br/>
<%= f.submit 'Update Batch Details' %>
<% end %>
目前,只保存选定的图书,无论是在“all_books”div还是“selected_books”div中找到它们。
但是,我希望在保存批次时提交'selected_books'div中的所有条目,无论其复选框是否已被选中。并忽略'all_books'div中的所有选定条目。
简而言之,在保存批次时,我只想保存在“selected_books”div中找到的那些书籍,而忽略其余的是否已选中其复选框。
我希望我很清楚。
如果有人能指出我如何做到这一点的正确方向,我将非常感激。
非常感谢你提出的任何建议。
答案 0 :(得分:1)
$("#formid").submit(function(){ $("#selected_books").find("input:checkbox").attr({checked: "checked"}); });
这应该可以解决问题。