2012-05-20 26 views
0

我目前使用這一個選擇:如何在不觸發更改事件的情況下設置select元素的選定選項?

var sortNo = $('select[name=anzahl_eintraegeSEL]'); 

sortNo 
    // set selected based on hidden input default value 
    .find('option[value="'+ $('input[name=anzahl_eintraege]').val() +']') 
    .attr('selected', 'selected').attr('set',true) 
    // set up change listener 
    .on('change', function(){ 
     // do sth 
     }); 

我想設置的默認選項選擇,而沒有觸發初始變化事件。

我該如何得到這個工作?以上似乎馬上觸發了變化事件。

感謝您的幫助!

+0

處理上的控制事件,並取消傳播 –

回答

1

你可以試試:

sortNo 
    .on('change', function(){ 
    // do sth 
    }) 
    .val($('input[name=anzahl_eintraege]').val()); // set the default value get from hidden field 

DEMO

+0

對不起,我需要從隱藏的輸入值。這沒有幫助 – frequent

+0

酷。這工作。非常感謝你! – frequent

1

一次:在這一行:

.find('option[value="'+ $('input[name=anzahl_eintraege]').val() +']') 

你缺少結束的 '「' 應該是:

.find('option[value="'+ $('input[name=anzahl_eintraege]').val() +'"]') 

Nex你的.on()被執行,而jQuery有你的標籤在上面...我想你想要的變化,而不是。

而且您不需要自己查找選項標籤,jQuery可以使用sortNo.val()爲您做到這一點。

我相信這是你想要什麼?:http://jsfiddle.net/KadrG/

+0

感謝您的錯字。我試過這個,它也可以工作,但是以上更多是我需要的! – frequent

相關問題