2015-03-02 43 views
0

我有一個簡單的多重選擇,我試圖通過ajax發送其選定的值。 我可以使用警報,它顯示選中的值,但它在ajax中空白。 爲了測試這個,我嘗試了替換,但也不起作用。所以出現了問題,我無法弄清楚!Jquery獲取多個選擇的值不工作

<select id="multiple" multiple="multiple"> 
<option value="Text 1">Text 1</option> 
<option value="Text 2">Text 2</option> 
<option value="Text 3">Text 3</option> 
</select> 

如果讓我選擇的選項2和3的警報會顯示我的選擇是這樣的:

VAR測試= $( 「#多個」)VAL()。 alert(test);將返回:文本2,文本3

和,如果我使用替換它不工作,IE:

測試= test.replace( 「 」「,」);

我想,這可能是一個數組,並試圖將其轉換爲字符串,但它仍然無法使用!

+0

分離的陣列的每個成員被轉換成一個串它是一個數組。你是什​​麼意思,你試圖將它轉換爲字符串? – 2015-03-02 05:20:49

+0

你的意思是「它在ajax中經歷了空白」。你能顯示ajax代碼嗎? – 2015-03-02 05:30:26

+0

您可以分享ajax請求代碼...並查看您的瀏覽器網絡選項卡(開發人員工具),以查看正在發送的實際數據 – 2015-03-02 05:34:43

回答

1

這裏test是一個數組,所以沒有array方法稱爲replace

而是可以使用.join()方法類似

test = test.join(", "); 

演示:Fiddle

.val()

在選擇元素的情況下,當沒有選項 被選中時它將返回空值,並且包含每個選定選項 至少有一個值時的值的數組,因爲 存在multiple屬性,所以可以選擇更多。

當調用alert()並傳遞數組作爲已完成,該陣列將通過調用Array.toString()方法,這將顯示由昏迷(,

+0

從問題來看,這並不能完全解決問題;它只是解釋說它是一個數組。問題似乎是在AJAX請求中使用該值。 – 2015-03-02 05:33:02

+0

@Ja͢ck是的,你是對的... – 2015-03-02 05:36:00

+0

@Arun P Johny,這使它的工作,並感謝您的解釋! – Steve 2015-03-02 05:44:45