jQuery从下拉列表中获取值

时间:2009-11-02 14:04:14

标签: jquery

传统上我们写

var value = $("#drop-down-id").val();

获取价值。 在我的例子中,一些选项包含多个带空格的单词 “全部允许”,“互联网用户”等 我在VALUE中得到的只是“允许”,即jquery在空白之后修剪掉单词。还有其他方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:9)

如果您将值包含在<option></option>中并且未直接使用val属性,则可以执行以下操作:

var value = $('#drop-down-id option:selected').text();

答案 1 :(得分:6)

尝试:

var value = $("#drop-down-id option:selected").attr("value");

答案 2 :(得分:1)

这没有任何意义。不应该有任何需要获得选项文本。如果您需要这样做,那么您的选项元素可能在服务器端以错误的方式填充。

检查HTML源代码,您可能会忘记选项值属性的引号。

这个错误

<option value=John Doe>John Doe</option>

它只返回第一个单词作为实际选择的值,因为该空格实际上是HTML中的属性分隔符;现在你将获得“John”作为值,而“Doe”被视为另一个(不存在的)HTML属性。

这个正确

<option value="John Doe">John Doe</option>

这样你就可以得到“John Doe”作为价值。