Shi*_*oft 5 html javascript jquery select dropdown
我有select24个选项代码的下拉列表是:
<select id="ddlInqOn" class="InqSelect2 form-control">
<option value="1">--All--</option>
<option value="2">Today Date</option>
<option value="3">Past Date</option>
<option value="4">Feature Date</option>
</select>
Run Code Online (Sandbox Code Playgroud)
select2这称为javascript:
$('.InqSelect2').select2({
dropdownAutoWidth: 'true',
multiple: true
});
Run Code Online (Sandbox Code Playgroud)
我希望实现像我点击所有选项然后删除其他选项,如果选择其他选项,然后从选择中删除所有选项.
我试过这段代码:
$('body').on('change', '#ddlInqOn', function() {
debugger;
//
});
Run Code Online (Sandbox Code Playgroud)
但是更改事件没有被触发,所以跟踪select2下拉列表更改事件的任何其他可能性?
@Nimeksha 给出的答案在 @Nimeshka 给出的 jsfiddle 中完美运行,但在我的代码中我无法获取下拉列表中更改的触发事件,并且在搜索后我从这里找到了解决方案。代码在这里:
$(document).on('change', '.InqSelect2', function () {
debugger;
if (e.params.data.id == 1) {
$(this).val(1).trigger('change');
} else {
values = $(this).val();
var index = values.indexOf('1');
if (index > -1) {
values.splice(index, 1);
$(this).val(values).trigger('change');
}
}
});
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
$('body').on('change', '.InqSelect2', function () {
debugger;
if (e.params.data.id == 1) {
$(this).val(1).trigger('change');
} else {
values = $(this).val();
var index = values.indexOf('1');
if (index > -1) {
values.splice(index, 1);
$(this).val(values).trigger('change');
}
}
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用。也通过 id #ddlInqOn 不起作用。
为什么上面的代码可以工作,$(document).on('change', '.InqSelect2', function () {});我不知道,但它对我有用。
再次感谢@Nimeshka
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |