jQuery检索并设置htmlselect元素的选定值

我试图检索并设置select元素(下拉列表)的选定值与jQuery。

$("#myId").find(':selected').val() ,以及$("#myId").val()但都返回undefined。

任何洞察这个问题将不胜感激。

提前致谢

你现在的方式是正确的。 select的id不是你说的,或者你在dom中有一些问题。

检查元素的ID,并检查您的标记validation在W3C在这里 。

没有一个有效的DOM jQuery不能正确使用select器。

如果这个ID是正确的,并且你的domvalidation那么下面的情况适用:

阅读select选项值

 $('#selectId').val(); 

设置select选项值

 $('#selectId').val('newValue'); 

阅读选定的文本

 $('#selectId>option:selected').text(); 

获取/设置select元素的实际selectedIndex属性使用:

 $("#select-id").prop("selectedIndex"); $("#select-id").prop("selectedIndex",1); 

$('#myId').val()应该这样做,失败,我会尝试:

 $('#myId option:selected').val() 

使用JQM进行设置时,不要忘记更新UI

 $('#selectId').val('newValue').selectmenu('refresh', true); 

$("#myId").val()应该工作,如果myid是select元素ID!

这将设置选定的项目: $("#myId").val('VALUE');

假设你已经使用SELECT标签创build了一个下拉列表,如下所示,

 <select id="Country"> 

现在,如果你想使用JQuery从下拉菜单中查看select的值是什么,那么简单地用下面的一行来检索那个值。

 var result= $("#Country option:selected").text(); 

它会正常工作。

我知道这已经很老了,但是我只是忍受了razor,无论我多么努力,都无法使它工作。 无论我使用“text”还是“html”作为属性,都保持回来为“undefined”。 最后,我添加了“数据值”属性的选项,它读得很好。

  <option value="1" data-value="MyText">MyText</option> var DisplayText = $(this).find("option:selected").attr("data-value"); 

$(“#myId option:selected”).text(); 会给你在下拉元素中select的文本。 无论哪种方式,您可以将其更改为.val(); 得到它的价值。 检查下面的编码

 <select id="myId"> <option value="1">Mr</option> <option value="2">Mrs</option> <option value="3">Ms</option>` <option value="4">Dr</option> <option value="5">Prof</option> </select>