Jquery 更改多重选择的事件

Jquery 更改多重选择的事件,jquery,Jquery,我想在多选中的选项元素数量发生变化时触发一些代码 以下是我的html的外观: <select id="id_foods_to" multiple="multiple" size="0" name="foods" class="filtered"> <option value="1">stuff</option> <option value="2">more stuff</option> <select> 此

我想在多选中的选项元素数量发生变化时触发一些代码

以下是我的html的外观:

<select id="id_foods_to" multiple="multiple" size="0" name="foods" class="filtered">
    <option value="1">stuff</option>
    <option value="2">more stuff</option>
<select>

此外,我正在使用此

如果代码有效,只需删除第一行中的select ending标记即可

<select id="id_foods_to" multiple="multiple" name="foods" class="filtered">
    <option value="1">stuff</option>
    <option value="2">more stuff</option>
</select>

东西
更多的东西

如果代码有效,只需删除第一行中的select ending标记即可

<select id="id_foods_to" multiple="multiple" name="foods" class="filtered">
    <option value="1">stuff</option>
    <option value="2">more stuff</option>
</select>

东西
更多的东西

尝试此操作,当您单击箭头时,检查项目是否添加了此代码:

var oldLength = $('#id_foods_to').children().length;
$(document).on('click', '.yourArrowClass', function(){
    if(oldLength != $('#id_foods_to').children().length){
        oldLength = $('#id_foods_to').children().length;
        //Your code here
    }
})

如果这不起作用,我会请你拉小提琴,这样会更容易帮助你。

试试这个,当你点击箭头时,检查一个项目是否添加了以下代码:

var oldLength = $('#id_foods_to').children().length;
$(document).on('click', '.yourArrowClass', function(){
    if(oldLength != $('#id_foods_to').children().length){
        oldLength = $('#id_foods_to').children().length;
        //Your code here
    }
})

如果这不起作用,我会请你拉小提琴,这样会更容易帮助你。

它不起作用吗?
change
在值更改时被调用,我认为你应该在单击箭头时添加代码。不,sirree,它不起作用。@Karl AndréGagnon-我试过了,但什么都没有发生。我使用了live()和所有东西。live()已被弃用,您试用过()吗?如果我是对的,你想在选项的数量改变时触发代码,而不是在你点击一个选项的时候触发代码。它是否不起作用?值改变时调用
change
,我认为你应该在点击箭头时添加代码。不,sirree,不是这样。@Karl AndréGagnon-我试过了,但什么都没有发生。我使用了live()和所有东西。live()已被弃用,您试用过()吗?并确认如果我是对的,你想在选项数量改变时触发代码,而不是在你点击某个选项时,对吗?