【发布时间】:2022-02-01 21:42:03
【问题描述】:
我有一个带有选择元素的 HTML 表单。但是我正在使用 select2 库。我想听表单输入的变化。我添加了一个更改事件侦听器。但是,即使我更改选项,此事件也不会被触发。我手动添加了触发器,但仍然没有调用此更改事件。
表格
<form id="xform">
<select id="xselect">
<option value="A" selected="selected">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
<input type="email" class="input-text" name="test" placeholder="" value="test">
</form>
<button onclick="trigger()">change</button>
js
$('#xselect').select2({
placeholder: 'Select a letter'
});
var formFrom = document.querySelector('#xform');
formFrom.addEventListener('change', function(e) {
console.log('input changed ');
$('#xselect').trigger('change');
});
function trigger() {
$('#xselect').val('C');
$('#xselect').trigger('change');
}
演示
https://jsfiddle.net/982zfnkL/6/
基本上,当我单击更改按钮时,我希望看到“输入已更改”控制台日志。
为什么会这样?
【问题讨论】:
标签: javascript html jquery forms jquery-select2