2017-02-14 98 views
3

我正在使用JQuery創建動態下拉框(第二個下拉列表框中的第一個下拉選項)。我正在嘗試創建一個反向用例的檢查(第一個選擇第二個下拉強制關聯選擇)。使用javascript變量設置下拉列表的所選值

我以前用這個代碼成功地設置活動值:

$("#department option[value='Other']").prop('selected', true); 

現在,我試圖做上述相同,但通過使用一個變量值,而不是硬編碼之一。這是我到目前爲止的代碼:

var selected_campus = $("#college")[0].options[$("#college")[0].selectedIndex].text.split(":",1).toString(); 
$("#campus option[value=selected_campus]").prop('selected', true); 

第一線工作正常,所需的值被成功保存在selected_campus。但是,第二行不行。我如何設置#campus的選定值爲selected_campus

+0

注意'split'返回一個數組,並且你將該數組強制爲一個字符串。它工作的唯一原因是因爲你添加了一個限制,所以你總是得到數組中的單個項目,並且希望將該數組字符串化以返回預期的結果。我會認爲'split(':')。shift()'會是更好的選擇嗎?而使用一些數據屬性來確定選項會更好。 – adeneo

+0

@ adeneo感謝您的反饋。我還是很新的,所以我沒有意識到shift(),它看起來正是我所需要的! –

+0

整條線看起來很渺茫,可能有更好的方法將所有選項綁定在一起 – adeneo

回答

3

你很近;你剛纔使用+和單引號'跡象,像來連接與選擇(字符串)變量selected_campus

$("#campus option[value='"+selected_campus+"']").prop('selected', true); 
________________________^_^_______________^_^ 

相反的:

$("#campus option[value=selected_campus]").prop('selected', true); 

希望這有助於。

2

您需要的變量替換到代碼:

$("#campus option[value='" + selected_campus + "']").prop('selected', true); 

您需要單引號的情況下,該值有空格或其他字符在它

相關問題