2013-06-21 70 views
0

運作,我不想要調用兩次$(「#selecteShuffle」)傳遞自基準事件

function sortSelect(select) { 
    select.html($('select option').sort(function(a, b){ 
     return a.text == b.text ? 0 : a.text < b.text ? -1 : 1; 
    })); 
} 

$('#selectShuffle').change(sortSelect($('#selectShuffle'))); 

回答

2

做這樣的 -

$('#selectShuffle').change(sortSelect); 

和在你的函數 - this是指對您的選擇

function sortSelect(e) { 
    $(this).html($('select option').sort(function(a, b){ 
     return a.text == b.text ? 0 : a.text < b.text ? -1 : 1; 
    })); 
} 

或者你也可以這樣做 - (不改變你當前的功能設置

function sortSelect(select) { 
    select.html($('select option').sort(function(a, b){ 
     return a.text == b.text ? 0 : a.text < b.text ? -1 : 1; 
    })); 
} 

$('#selectShuffle').change(function(){ 
    sortSelect($(this)) 
});