我有以下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错误。
答案 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()。