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

时间:2010-08-19 07:00:29

标签: 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" 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>

无论价值是多少,我如何获得选项中的文字?我以为我可以这样做:

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

但它给了我“未定义”。

有什么想法吗?

更新:如果select没有选项,我不想收到javascript错误。

2 个答案:

答案 0 :(得分:5)

请尝试这个:

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

更新。为避免javascript错误,您可以使用以下内容:

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

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

然后检查测试是否为空。

答案 1 :(得分:0)

这些功能之间经常存在混淆

.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()。