2013-03-23 59 views
0

這裏是我的情況:選擇二 - 無限循環使用觸發器(「變化」)

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