我在bootstrap模态对话框中有这个按钮:
<button id="btnSelectAll" style="float:left">Select All</button>
click事件看起来像这样,它应该做的就是将一堆复选框标记为已选中。
$(document).on('click', '#btnSelectAll', function ()
{
var $modal = $('#MyPanel');
$modal.find('#aCheckBox').prop('checked', true);
});
这是模态本身的标记(删除了详细信息,因为它有点长,基本上只是一堆复选框,最后有几个按钮):
<asp:Panel class="modal" ID="MyPanel" runat="server">
<div class="modal-dialog modal-lg" style="width:30%">
<div class="modal-content">
<div class="modal-header">
<asp:Label ID="Header" runat="server" Text="Header" />
</div>
<div class="modal-body">
<table>
<tr>
<td style="width: 20px;" />
<td>
<asp:Label ID="Label" runat="server" Text="Stuff:" />
</td>
<tr>
</table>
</div>
</div>
</div>
</asp:Panel>
我在调试器中看到点击事件代码正在被点击,但是当我点击按钮时,模态对话框总是立即关闭。我似乎无法在网上找到任何解释原因的东西,谷歌搜索只是给了我一堆&#34;如何关闭按钮点击模式&#34;输入问题。我想知道如何不关闭它。
答案 0 :(得分:1)
您可以尝试e.preventDefault
。从JQuery documentation我们有这个
描述:如果调用此方法,则为事件的默认操作 不会被触发。
因此,如果您将代码更改为以下内容:
$(document).on('click', '#btnSelectAll', function (event)
{
event.preventDefault();
var $modal = $('#MyPanel');
$modal.find('#aCheckBox').prop('checked', true);
});
你的问题将得到解决。