这个网站是完全在Chrome浏览器,但不是在IE删除选择一个选项,结果不显示在IE
文件非常简单,只有两个功能
1:单击添加按钮,第一行将被克隆并放置在添加按钮之前
2:单击组合框,第二个选项将被删除。
现在问题是功能2
1。在IE中加载这个页面,然后点击添加按钮添加一些组合框
2。单击第一个组合框,并且您将不会看到组合框中的第二个选项(这是正确的结果)
3。单击第二个组合框或其他克隆的组合框,然后您将看到第二个选项仍在组合框中,因此它不会被删除。 (这是不正确的结果)
4。如果您在开发人员工具中看到源代码,则可以看到第二个选项已被删除。
那么,如何删除IE中的选项?
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
jQuery(document).ready
(
function()
{
$('#add').click(function(){
$(this).parent().parent().before($('tr').eq(0).clone(true));
});
$('select').focus(function(){
$(this).find('option').eq(1).remove();
});
}
);
</script>
</head>
<body>
<table>
<tr>
<td>
<select>
<option>1</option><option>2</option><option>3</option>
</select>
</td>
</tr>
<tr>
<td><input id="add" type="button" value="add"/></td>
</tr>
</table>
</body>
</html>
您的代码似乎好工作与不使用.live()(即使它不应该根据我的工作没有生活)。 如果您执行一些操作并检查源,那么所有事情都按计划进行。 IE浏览器似乎并没有更新它的复选框内容,但我不知道为什么是这样。 :( 也许如果你告诉我们为什么你这样做,我们可以找出一个IE友好的解决方案?:) – Sanchit 2012-04-24 12:28:33
我试过.live()和.live(),生活是工作,不工作,所以它似乎.on()不能100%替换.live()。但我仍然想知道为什么.on()和.focus()在IE(在IE8&9中测试)中不起作用,因为.live()有性能问题,如果我终于找不到原因,那么我将使用。生活()。我这样做是因为我让用户动态添加组合框的列表,并选择该选项。但是如果选择之前不允许选择相同的选项,所以我需要搜索所有选项,如果选中,则删除该选项。 – 2012-04-24 14:32:12