繁体   English   中英

使用Jquery单击按钮时如何删除SELECTED Listbox Item?

[英]How to remove SELECTED Listbox Item when click the Button using Jquery?

我有 2 个名为lstLeft and listRowField Asp ListBox 。 当用户从1stLeft选择项目并单击按钮时,它将移动到另一个列表框(listRowField)但有限制(某些项目不应移动)

到目前为止,我已经做了,该代码工作正常 用户选择限制项并单击按钮时,应再次取消选择所选项目

输出页面

1stLeft TotalQuantity 不允许移动 一旦显示警报消息, 1stLeft中的选择颜色应删除。

我试过这段代码,但不起作用

$('#rightRow').click(function () {       

    var options = $("[id*=lstLeft] option:selected");

    for (var i = 0; i < options.length; i++) {
        if ($(options[i]).val() === 'TotalQuantity' || $(options[i]).val() === 'ExtendedPrice' || $(options[i]).val() === 'ExtendedCost' || $(options[i]).val() === 'Profit') {

            alert($(options[i]).val() + " is not allowed to Data Field");

            //I tried these TWO CODES. But it doesn't work.

            //$('.multiselectOptions:selected', this).remove();
            $("#lstLeft option[value=" + $(options[i]).val() + "]").attr("selected", false);
        }
        else {
            var opt = $(options[i]).clone();

            $(options[i]).remove();
            $("[id*=listRowField]").append(opt);
        }
    }
}

更新

//Multiselection
$('.multiselectOptions').mousedown(function (e) {
    e.preventDefault();
    $(this).prop('selected', $(this).prop('selected') ? false : true);
    return false;
});


<asp:ListBox ID="lstLeft" class="form-control" runat="server" SelectionMode="Multiple" Height="260px" onclick="ListBoxClient_SelectionChanged(this, event);">
   <asp:ListItem class="multiselectOptions" Value="StoreID">StoreID</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="ItemLookupCode">ItemLookupCode</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="ExtendedDescription">ExtendedDescription</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="SubDescription1">SubDescription1</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="DepartmentName">DepartmentName</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="CategoryName">CategoryName</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="SupplierCode">SupplierCode</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="SupplierName">SupplierName</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="TotalQuantity">TotalQuantity</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="ExtendedPrice">ExtendedPrice</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="ExtendedCost">ExtendedCost</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="Profit">Profit</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="UnitOfMeasure">UnitOfMeasure</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="CustomerAccountNumber">CustomerAccountNumber</asp:ListItem>
   <asp:ListItem class="multiselectOptions" Value="CustomerName">CustomerName</asp:ListItem>
</asp:ListBox>

我用于多选的此代码。 取消选择是不是让我错了?

谢谢

尝试这个,

$('option:selected', this).remove();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM