我有一个aspx页面,其中包含HTML下拉列表中的两个复选框列表。
一个是用HTML编写的,根据未检查的内容和内容显示\隐藏columsn在数据表中。
另一个是带有asp.net复选框列表控件的下拉列表,这样我就可以根据所选选项轻松地将值传递回数据库,而无需查看Request.Form("...")
。
我希望解决的一个问题是如何在单击复选框项后保持下拉列表打开。列表\下拉列表中出现相同的行为,因此希望它可以是两者的单一解决方案。
我建立一个列表的代码是这样的
<div class="row" style="float: right; padding-right: 15px">
<div class="col-lg-12">
<div class="button-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="glyphicon glyphicon-list-alt"></span><span class="caret"></span>
</button>
<ul class="dropdown-menu">
<asp:PlaceHolder ID="ColSelectorPlaceHolder" runat="server"></asp:PlaceHolder>
</ul>
</div>
</div>
</div>
然后构建列表并将其传递回此处的占位符
Dim html As New StringBuilder()
For value As Integer = 0 To dictofClassAndCol.Count
If (value = dictofClassAndCol.Count) Then
Exit For
End If
Dim item = dictofClassAndCol.ElementAt(value)
Dim key As String = item.Key
Dim val As String = item.Value
Dim line = String.Format("<li style='padding-left: 10px'><label class='small' tabindex='-1'><input type='checkbox' checked='true' value='{0}'/>{1}</label></li>", key.Replace(" ", ""), val)
html.AppendLine(line)
Next
Return html
另一个是这样的构建
<div class="btn-group" style="padding-top: 5px">
<a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#">Report Status <span class="caret"></span></a>
<ul class="dropdown-menu" style="padding-left: 10px">
<asp:PlaceHolder ID="statusSelectorPlaceHolder" runat="server"></asp:PlaceHolder>
<asp:CheckBoxList ID="statuscblist" runat="server">
</asp:CheckBoxList>
</ul>
</div>
然后这些项目就像这样构建
If Page.IsPostBack = False Then
For Each item In _dictOfStatus
Dim status As New ListItem
status.Value = item.Value
status.Text = item.Key
status.Selected = True
statuscblist.Items.Add(status)
Next
End If
任何和所有帮助表示赞赏。
答案 0 :(得分:0)
找到了我的答案
$(document).ready(function() {
$("#statusSelctor .dropdown-menu").on({
"click": function (e) {
e.stopPropagation();
}
});
});
$(document).ready(function () {
$("#columns .dropdown-menu").on({
"click": function (e) {
e.stopPropagation();
}
});
});