jquery 如何在select2上调用onclick事件

8oomwypt  于 2022-12-18  发布在  jQuery
关注(0)|答案(3)|浏览(289)

我正在尝试绑定onclick以使用select2初始化来选择输入元素。
我想在下拉菜单被单击或聚焦时绑定一个处理程序。

<select class="form-control" id="type" name="type" required="required">
    <option value="breakfast" <?= ($type == 'breakfast')? 'selected' : '';?>>Breakfast</option>
    <option value="snacks" <?= ($type == 'snacks')? 'selected' : '';?>>Snacks</option>
</select>

下面是js部分:

$('#type').select2({}).on("select2-selecting", function(e) {
    console.log('not working');
});

我也尝试了“select2-open/opening“,但无济于事。我如何使事件绑定工作?

lymgl2op

lymgl2op1#

在您使用的版本3.5.1中,您应该使用select2-selecting而不是select2:selecting,如下所示:

$('#type').select2({}).on("select2-selecting", function(e) {
    console.log('not working');
});

x一个一个一个一个x一个一个二个x

hiz5n14c

hiz5n14c2#

对于4.0 +版,您可以使用以下内容。

$('#yourselect').on("select2:select", function(e) { 
   // what you would like to happen
});
fquxozlt

fquxozlt3#

我选择只使用jquery事件“change”,看起来像预期的那样。

$('#fieldListSelect').select2({
        placeholder: 'Select a field'
        }).on("change", function (e) 
        {
            var key = $('#fieldListSelect option:selected').text();
            var value = $('#fieldListSelect').val();

            $('#result').html("key : " + key + ", value : " + value);
    });

相关问题