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>