1

我在 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”

任何建议如何规避这个问题?

4

1 回答 1

1

您应该使用 的change事件,而select不是clickoption尝试这个:

$("#suggestions").on('change', selectItem);
于 2013-02-04T10:29:53.293 回答