我在这里遇到了这个代码。我正在尝试检索选项文本。
HTML code
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
for(i=0; i<list.length; i++) { // assume list[i] contains different names
var name_options = $('<option>' + list[i] + '</option>');
$('#names').append(name_options);
}
/* I want to retrieve data when a particular option is selected. But this doesnt work*/
$('#names').click(function(){
var val = $(this).find(':selected').html();
});
});
</script>
</head>
<body>
<select id='names' class='combobox'>
!-- options for names go here -->
</select>
</body>
</html>
我无法检索所选值。因此我使用$("#names")
作为我的选择器,因为$("#names option")
不起作用。
我在这里做错了什么?
答案 0 :(得分:1)
尝试
$("#names option:selected").text();
或在您的代码中
$(this).find(':selected').text();
答案 1 :(得分:1)
您想使用change()
处理程序,您可以直接从<select>
本身获取值。
$('#names').change(function(){
var val = $(this).val();
});
在选择过程中,您将有几个点击事件,这是click()
赢得很多帮助的一个原因