传统上我们写
var value = $("#drop-down-id").val();
获取价值。 在我的例子中,一些选项包含多个带空格的单词 “全部允许”,“互联网用户”等 我在VALUE中得到的只是“允许”,即jquery在空白之后修剪掉单词。还有其他方法可以解决这个问题吗?
答案 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”作为价值。