我想捕获所选 jquery 的更改前事件,因此如果单击的值不是必需的,则它什么也不做并返回上一个选择的选项。可能吗?
就像是
$('.chzn-select').chosen({
'beforeChange': function(){
//if option clicked is Option-3
//do nothing
}
});
我想捕获所选 jquery 的更改前事件,因此如果单击的值不是必需的,则它什么也不做并返回上一个选择的选项。可能吗?
就像是
$('.chzn-select').chosen({
'beforeChange': function(){
//if option clicked is Option-3
//do nothing
}
});
借助数据jQuery 函数、change
事件和params.selected
参数,您可以轻松实现这一目标。
$(".chzn-select").chosen().on("change", function (evt, params) {
if (params.selected === "Portugal") {
var previous = $(this).data("previous") || "";
$(this).val(previous).trigger("chosen:updated");
} else {
$(this).data("previous", params.selected);
}
});
像这样的东西
(function () {
var previous;
$(".chzn-select").focus(
function () {
// Store the current value on focus and on change
previous = $(this).val();
}).change(function() {
if($(this).val()=="Option-3"){// //if option clicked is Option-3
$(this).val(previous); // select the value prior to the change
$(this).trigger("chosen:updated"); // tell chosen to pick up the updated value
}
});
})();