Select2 - 带触发器的无限循环('更改')

时间:2013-03-23 21:12:11

标签: jquery-select2

以下是我的案例:

$('select').select2();

$('select').on('change', function () {
    // calling a function
    myFunction();
});

function myFunction() {
    // changes my select values
    // so I need to update the select for seing the news values
    $('select').trigger('change');

    // hehe I fire the change event so myFunction is called again and again
}

我可以做些什么来避免这种行为?此致...

1 个答案:

答案 0 :(得分:0)

这是Select2中的错误。我在以下代码中遇到了同样的问题:

var FID = $(location).attr('href').split("/")[5];
$('#facility').children().each(function () {
    if ($(this).val().trim() == FID.trim()) {
        $(this).attr('selected', 'selected').trigger('change');
    }
});

以下情况并不理想,但确实解决了这个问题。请注意,您需要重新定义您的Select2选项(我的显示)。

var FID = $(location).attr('href').split("/")[5];
$('#facility').children().each(function () {
    if ($(this).val().trim() == FID.trim()) {
        $(this).attr('selected', 'selected');
        $('#facility').select2({
            placeholder: "",
            minimumResultsForSearch: -1
        });
    }
});