每当添加到另一个字符串时,字段中的Javascript值显示为

使用jQuery 1.6.2

我正在操作的HTML

 Argentina - Spanish Brazil - Brazil English  

我需要获取所选值的字符串(即:“巴西 – 巴西英语”)

我目前使用的是:

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

这很有用。 它给了我像["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。 选项元素的数值属性必须保持不变。

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

这将为您提供选择列表中当前所选选项的文本。

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

contents函数实际上创建了一个新的jQuery对象 – 而不是您想要的文本值。