簡體   English   中英

如何在 ASP 中制作自動回發多選列表框?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM