简体   繁体   English

jQuery ui multiselect catch select/click 事件

[英]jQuery ui multiselect catch select/click event

I would like to catch the click/change selection event on a listbox that has a jQuery multiselect on it.我想在具有jQuery 多选的列表框中捕获单击/更改选择事件。

I tried the following code, but it doesn't catch it.我尝试了以下代码,但没有捕捉到它。

        $("#" + "<%= _lbxMultiSelect.ClientID %>").multiselect();

        $("#" + "<%= _lbxMultiSelect.ClientID %>").change(function () {
            alert('multiselect clicked');
            $('#' + '<%= divRemoval.ClientID %>').hide();
        });

This code is written in $(document).ready这段代码写在 $(document).ready

Html code Html 代码

<asp:ListBox ID="_lbxMultiSelect" runat="server" DataTextField="SegmentName"
    DataValueField="SegmentId" SelectionMode="Multiple"></asp:ListBox>

the following suggestion did not work以下建议无效

$("#" + "<%= _lbxMultiSelect.ClientID %>").bind('click change', function () {

What is the right way to catch it?什么是正确的捕捉方法?

you should use the event multiselectclick你应该使用事件multiselectclick

$("#" + "<%= _lbxMultiSelect.ClientID %>").bind('multiselectclick', function (e, ui) {

or (in version 1.7 onwards)或(从 1.7 版开始)

$('body').on('multiselectclick', "#" + "<%= _lbxMultiSelect.ClientID %>", function(e, ui){
   alert('clicked');
});

you should look at the "events" section of the link you posted你应该看看你发布的链接的“事件”部分

Try changing尝试改变

$("#" + "<%= _lbxMultiSelect.ClientID %>").change(function () {

to

$("#" + "<%= _lbxMultiSelect.ClientID %>").bind('click change', function () {

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

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