如何使用jquery获取下拉列表的选定选项值?

时间:2015-12-22 10:54:44

标签: javascript jquery html

我正在使用下拉菜单,我希望获得所选选项的价值。

我可以使用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;
&#13;
&#13;

然后这个&amp;被编码为&amp; a m p;

如何将此值视为仅文本?

5 个答案:

答案 0 :(得分:3)

https://jsfiddle.net/programtheweba/8gohx47g/

通过使用Jquery text(),我们将只得到文本和字符不被编码。

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:0)

您可以改为使用jquery .text()

&#13;
&#13;
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;
&#13;
&#13;

答案 2 :(得分:0)

  

&是HTML中的特殊字符(它用于实体),不能显示为普通字符。
  您的HTML无效(&x不是实体),但浏览器会在解析时自动将其更正为&amp;。   当你提出要求时,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)

  1. 在您的代码中加入jQuery
  2. 将您的代码包含在DOM Ready $(function(){ ... })
  3. 使用$('#dropdown option:selected').val()获取值。
  4. $(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>

    &将仅被解析为&,不会被更改。

相关问题