0

選択した jquery の変更前のイベントをキャプチャしたいので、クリックした値が必要な値でない場合は、何もせずに前に選択したオプションに戻ります。出来ますか?

何かのようなもの

$('.chzn-select').chosen({
    'beforeChange': function(){
        //if option clicked is Option-3
        //do nothing

    }
});
4

2 に答える 2

6

データ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);
    }
});

この動作デモを見る

于 2013-09-18T10:42:51.680 に答える
1

このようなもの

(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      
        }
    });
})();

私はアイデアを次から取り入れました:変更前の選択(ドロップダウン)の値の取得

于 2013-09-18T10:03:25.660 に答える