我认为我有这种模式:
<div class="modal fade" id="addListItem" tableindex="-1" role="dialog" aria-labelledby="addListItem" aria-hidden="true">
......
......
<div class="modal-body">
<%= form_for @list_item, :remote => true, :html => {:id => "addForm"} do |f| %>
<%= f.hidden_field :upc, :value => @item.upc %>
<%= f.hidden_field :inventory_item_id, :id => "inventoryID", :value => "" %>
<%= f.submit("Add It!", class: "btn", :id => "addSubmit") %>
<% end %>
</div>
......
......
</div>
因为表单是远程的,我希望这个模式隐藏在表单提交上。我是这样做的:
$('#addForm').submit(function() {
$('#addListItem').modal('hide');
});
目前正在发生的事情令我感到困惑。当我点击提交时,表单会远程提交并且模态保持打开状态。当我第二次点击提交按钮时,表单再次提交,模式隐藏。为什么这个模态不会隐藏在第一次提交中?提前谢谢!
答案 0 :(得分:9)
之前我遇到过类似的问题,我解决这个问题的方法是在提交按钮中添加点击事件:
$('#addSubmit').click ->
$('#addListItem').modal('hide');
希望这有帮助!
答案 1 :(得分:0)
试试这个:
$(modal).on("click", 'input[type="submit"]', (e) ->
modal.modal('hide')