我在 php 生成的页面中有一个选择列表,我在显示页面期间多次加载动态内容。这些选项行中的每一个都应充当链接;因此,我将选择元素上的“单击”处理程序与过滤器连接以选择其选项元素。首先,这是我正在使用的 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”
任何建议如何规避这个问题?