使用jQuery获取选择元素选项的值?

使用jQuery获取选择元素选项的值?,jquery,Jquery,我有以下HTML: <div style="width: 143px; height: 125px; overflow: scroll;"><select size="20" style="min-width: 200px;" name="ctl00$ctl04$ctl00$ctl00$SelectResult" id="ctl00_m_g_ctl00_ctl00_SelectResult" multiple="multiple" title="selected values"

我有以下HTML:

<div style="width: 143px; height: 125px; overflow: scroll;"><select size="20" style="min-width: 200px;" name="ctl00$ctl04$ctl00$ctl00$SelectResult" id="ctl00_m_g_ctl00_ctl00_SelectResult" multiple="multiple" title="selected values" onchange="GipSelectResultItems(ctl00_m_g_ctl00_MultiLookupPicker_m);" ondblclick="GipRemoveSelectedItems(ctl00_m_g_ctl00_ctl04_ctl00_ctl00_MultiLookupPicker_m); return false" onkeydown="GipHandleHScroll(event)">
                <option value="14">BMT</option></select></div>
但它给了我一个不明确的定义

有什么想法吗

更新:如果select没有选项,我不希望出现javascript错误。

请尝试此选项:

$('#ctl00_m_g_ctl00_ctl00_SelectResult option:selected').text();
更新。为了避免javascript错误,您可以使用以下方法:

 var test = $('#ctl00_m_g_ctl00_ctl00_SelectResult selected:option').text(); 
var test = null;
var opt = $('#ctl00_m_g_ctl00_ctl00_SelectResult option:selected');

if (opt.length > 0){
  test = opt.text();
}

然后检查test是否为null。

这些函数之间经常存在混淆

.text(); //get the text of an HTML element
.val();  //get the value of an HTML Input
.html(); //get the HTML inside the html element.

在这种情况下,您需要.text。

+1完全可以这样做。option:selected返回所有选择的选项,但是如果有多个选项,您可能希望迭代它们以获得比从.text中获得的更有意义的表示。这完全取决于当有超过1个选择项时您想要的结果,tho。在这种情况下,我只想检查选择项是否有任何选项。用户通过添加其他列表中的选项来填充表单,在表单验证期间,我不希望表单为空。@Peter:噢,但代码根本不是这样做的。上面的操作会显式检查所选项目。您只需检查“ctl00”是否。。。选项“.length>0是的,David是对的。通过删除:selected部分,它将检查所有元素,而不仅仅是selected部分..val;还获取select和textarea的值。