2015-12-22 100 views
0

我正在使用下拉菜单,我想获得所选选项的值。如何使用jquery获取选择的下拉选项值?

我能够做到这一点使用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>

然后这个&被编码为&一米P(符号);

如何将此值仅作为文本处理?

+0

在这种情况下,您可以使用.text()。 – sahil

回答

3

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

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

alert('text() : ' +$('#dropdown').text());
<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>

+2

真的吗?你问这个问题的人。即使有多个正确的答案,只有你的答案得到了upvote。非常好!! –

+0

我不能upvote我的que/ans。所以我也感到惊讶! –

0

您可以使用jQuery .text()代替:

console.log('text() : ' + $('#dropdown option:selected').text());//prints out text() : Test & Get knowledge
<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>

0

&是HTML(它是用于实体)的特殊字符,不能显示为普通字符。
您的HTML无效(&x不是实体),但浏览器在解析时会自动将其更正为&amp;
jQuery在您提问时忠实地返回固定HTML。

Source

因此使用.text()代替.html()

$('#dropdown option:selected').text(); 

您还可以使用.val()与选择元件选择沿获得所选选项的文本值:

$('#dropdown').val(); 
+0

嘿男人。你有没有看到OP的答案?有些东西在这里搞乱了。 –

+0

@AnoopJoshi:什么是搞乱? –

+0

只有他的回答是upvotes:D –

0

您需要使用.text()而不是.html()

$('#dropdown option:selected').text(); 

或者使用.val()

$('#dropdown').val(); 
0
  1. 在您的代码中包含jQuery
  2. 总结你的代码在DOM就绪$(function(){ ... })
  3. 使用$('#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>

&会被解析为仅&并不会改变。

相关问题