2012-01-12 53 views
0

使用jQuery 1.6.2JavaScript值顯示爲[對象文本]只要加入到另一個字符串

那我就

<select id="langId"> 
    <option value="0">Argentina - Spanish</option> 
    <option value="1">Brazil - Brazil English</option> 
</select> 

我需要得到的字符串操作HTML選擇的值(即: 「巴西 - 巴西英語」)

什麼我目前使用的:

var langVal = $('#langId option[value="' + $('#langId').val() + '"]').contents(); 

這をrks一點。這讓我有點像["Brazil - Brazil English"],我可以在langVal[0]

訪問如果我不console.log(langVal[0])然後我得到了我期待的"Brazil - Brazil English",但如果我這樣做console.log(("The value is: " + langVal[0]));然後我看到了什麼是The value is: [object Text]

我沒有想法是什麼導致這個[object Text]出現,而不是我的價值。我已經嘗試了toString()方法,但它沒有幫助。

最終目標是將所選對象的文本值存入cookie中。選項元素上的數值屬性必須保持不變。

回答

1
$("#langId option:selected").text() 

這會讓您看到選擇列表中當前選定選項的文本。

1

而不是使用$('#langId option[value="' + $('#langId').val() + '"]').contents()的要使用$('#langId option[value="' + $('#langId').val() + '"]').html()$('#langId option[value="' + $('#langId').val() + '"]').text()

contents功能實際上創建了一個新的jQuery對象 - 不是你想要的文本值。

+0

謝謝John!我接受Mark's作爲我的回答,因爲它是整個問題的優雅解決方案,但這有助於我理解爲什麼我的代碼無法工作。 – wmarbut 2012-01-12 17:49:53

相關問題