我在php生成的页面中有一个选择列表,我在显示的页面中多次加载动态内容。这些选项行中的每一行都应作为一个链接;因此,我使用过滤器连接select元素上的“click”处理程序以选择其选项元素。首先,这是我正在使用的HTML:
<select name="suggestions" id="suggestions" size="3">';
</select>';
之后我填写了以下几个选项:
<option value="NextPage.php?id=1">Doe, John</option>
随附的javascript如下:
$(document).ready( function() {
...
$("#suggestions").on('click', 'option', selectItem);
});
// receiving the list of options
function receiveList(data) {
$('#suggestions').html(data);
$('#suggestions').css('display', 'inline');
}
// The click handler for the options
function selectItem(e) {
var txt = this.value;
alert('Selected ' + txt);
window.open(txt); // or window.location.href = txt;
}
这个javascript在Firefox和Opera中完美运行;在IE9中,当单击选择器中的一行时,所选行变为蓝色但不执行任何操作,并且不会弹出警报(即不执行selectItem)。
我正在使用jquery-1.8.2.min.js,页面的第一行是“!doctype html”
有关如何规避此问题的任何建议吗?
答案 0 :(得分:1)
您应该使用change
上的select
事件,而不是click
上的option
。试试这个:
$("#suggestions").on('change', selectItem);