[英]How to make autopostback Multiselect ListBox in ASP?
我正在嘗試使用帶有 Bootstrap Multiselect 樣式的 ListBox 控件在 ASP.NET 中創建一個多選 ListBox。
就外觀而言,它運作良好。 我可以將其切換為下拉,我可以 select 並取消選擇選項並關閉它。
<asp:ListBox ID="NameListBox" runat="server" CssClass="multiselect" SelectionMode="Multiple" OnSelectedIndexChanged="NameListBox_SelectedIndexChanged">
<asp:ListItem Text="Name 1" />
<asp:ListItem Text="Name 2" />
<asp:ListItem Text="Name 3" />
<asp:ListItem Text="Name 4" />
<asp:ListItem Text="Name 5" />
<asp:ListItem Text="Name 6" />
</asp:ListBox>
我遇到的問題是進行回發並處理新選擇的項目。 我寫了一個 OnSelectedIndexChanged,在其中循環遍歷選定的項目並將它們插入數據庫,但我不知道何時以及如何運行它。 我知道我可以有一個單獨的按鈕來導致回發並保存所選項目,但我想在關閉 ListBox 時導致自動回發。
問題是,如果我使用 AutoPostBack="true",那么每次選項更改都會發生回發,因此用戶無法 select 更多選項然后立即保存。 我只想在下拉列表實際關閉時進行回發。
經過多次嘗試,我得到了這個:
$('.multiselect').multiselect({
nonSelectedText: '',
nSelectedText: 'selected',
allSelectedText: 'Everyone',
numberDisplayed: 2,
buttonTextAlignment: 'left',
buttonWidth: 240,
onDropdownHidden: function (event) {
__doPostBack($(event.target).parent().children('.multiselect').attr('id'), '');
}
});
這會在關閉列表框的下拉列表后導致回發,這很好。 但遺憾的是,NameListBox_SelectedIndexChanged 事件處理程序在回發期間沒有被觸發,所以什么也沒有發生。
有小費嗎?
希望對你有幫助~
<asp:ListBox ID="DropDownList_ExportCountry" runat="server" SelectionMode="Multiple" OnSelectedIndexChanged="DropDownList_ExportCountry_SelectedIndexChanged"></asp:ListBox>
在 html <表格我把這個之后
<script type="text/javascript">
$('[id*=DropDownList_ExportCountry]').multiselect({
onDropdownHide: function (event) {
__doPostBack();//__doPostBack($(event.target).parent().children('#DropDownList_ExportCountry').attr('id'), '')
}
});
並記住像這樣在 <head
<link href="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" />
<script src="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/js/bootstrap-multiselect.js" type="text/javascript"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.