我正在使用下拉菜单,我希望获得所选选项的价值。
我可以使用jquery html()方法做到这一点。
但是如果选择的选项值包含html可编码字符,可以说它是&(和号。)
alert('html() : ' + $('#dropdown option:selected').html());

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<select id="dropdown">
<option selected>Test & Get knowledge</option>
</select>
&#13;
然后这个&amp;被编码为&amp; a m p;
如何将此值视为仅文本?
答案 0 :(得分:3)
https://jsfiddle.net/programtheweba/8gohx47g/
通过使用Jquery text(),我们将只得到文本和字符不被编码。
alert('text() : ' +$('#dropdown').text());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<select id="dropdown">
<option selected>Test & Get knowledge</option>
</select>
&#13;
答案 1 :(得分:0)
您可以改为使用jquery .text():
console.log('text() : ' + $('#dropdown option:selected').text());//prints out text() : Test & Get knowledge
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="dropdown">
<option selected>Test & Get knowledge</option>
</select>
&#13;
答案 2 :(得分:0)
&
是HTML中的特殊字符(它用于实体),不能显示为普通字符。
您的HTML无效(&x
不是实体),但浏览器会在解析时自动将其更正为&
。 当你提出要求时,jQuery忠实地返回固定的HTML。
<强> Source 强>
因此请使用.text()
代替.html()
:
$('#dropdown option:selected').text();
您还可以使用.val()
和select元素选择器来获取所选的选项文本值:
$('#dropdown').val();
答案 3 :(得分:0)
您需要使用.text()
代替.html()
:
$('#dropdown option:selected').text();
或使用.val()
$('#dropdown').val();
答案 4 :(得分:0)
jQuery
。$(function(){ ... })
$('#dropdown option:selected').val()
获取值。
$(function(){
alert('html() : ' + $('#dropdown option:selected').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="dropdown">
<option selected>Test & Get knowledge</option>
</select>
&
将仅被解析为&
,不会被更改。