2013-02-18 166 views
0

我在我的jQuery中有以下代碼片段。 update_obj['events']保存我想要選擇的選項的值。我有一組select元素,它們的ID以event_drop_down_開頭。此代碼工作正常。但是,如果我對alert(v)發表評論,則不會在select元素中選擇選項。與select元素相關的唯一其他事件是.change()。我評論並嘗試過,但問題仍然存在。任何幫助/建議,以克服這是高度讚賞。選擇選擇沒有選擇沒有警報()jQuery

var i =0; 
$(update_obj['events']).each(function(v){ 
     alert(v); 
    $('#event_drop_down_' + i + ' option[value=' + update_obj['events'][v] + ']').attr('selected', 'selected'); 
    i = i+1; 
});  
+0

被添加到通過異步代碼,例如,一個Ajax請求或某事的下拉選項? – nnnnnn 2013-02-18 07:40:41

+0

何時(如果頁面的生命週期在哪個時間點)您正在運行此腳本? – Andrei 2013-02-18 07:54:29

+0

@nnnnnn它來自$ .post請求 – 2013-02-18 09:36:12

回答

0

試試這個

$(update_obj['events']).each(function(i,v){ 
    alert(i); 
    $('#event_drop_down_' + i + ' option[value=' + update_obj['events'][i] + ']').attr('selected', 'selected'); 
    i = i+1; 
}); 

OR

$(update_obj['events']).each(function(i,v){ 
    alert(i); 
    $('#event_drop_down_' + i + ' option[value=' + v + ']').attr('selected', 'selected'); 
    i = i+1; 
}); 
+0

我試過了,'alert(i)'工作正常,但沒有alert(i)'它不更新所選擇的選項。 – 2013-02-18 07:38:51

+0

爲什麼你有'i = i + 1'我不認爲你需要這個,因爲你有'每個'功能..你能告訴我你在updatedobj ['events']中得到了什麼嗎? – bipen 2013-02-18 07:54:37

+0

'i = i + 1'是遍歷'select'元素。 'each'是迭代'update_obj ['events']'的元素。以下是'警報(update_obj ['events'])的輸出' 1,2 – 2013-02-18 08:06:36