2013-03-23 2 views
0

Вот мой случай:Выбор2 - Бесконечный цикл с пусковым механизмом («изменить»)

$('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 
} 

Что я могу сделать, чтобы избежать такого поведения? С уважением ...

ответ

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