JqGrid多选列表始终在IE7/8的编辑模式下选择第一个选项

JqGrid多选列表始终在IE7/8的编辑模式下选择第一个选项,jqgrid,Jqgrid,进入编辑模式时,网格(v4.3.1)在下拉列表中选择正确的值 然而,IE 7和IE 8似乎存在一个问题,它们会自动选择第一项,以及其他也应该被选择的值 有没有人在IE7/8中偶然发现了这一点 在研究jqgrid的源代码时,我还看到了一行注释,实际上可以解决这个问题。正如Oleg所评论的,它在本文中被评论,并修复了另一个问题。但是我还没有发现这个问题是什么。我检查了所描述的问题,可以确认这是jqGrid中的一个bug。因此,无论以何种方式,对您来说都是+1 //如果(i==0){this.sel

进入编辑模式时,网格(v4.3.1)在下拉列表中选择正确的值

然而,IE 7和IE 8似乎存在一个问题,它们会自动选择第一项,以及其他也应该被选择的值

有没有人在IE7/8中偶然发现了这一点


在研究jqgrid的源代码时,我还看到了一行注释,实际上可以解决这个问题。正如Oleg所评论的,它在本文中被评论,并修复了另一个问题。但是我还没有发现这个问题是什么。

我检查了所描述的问题,可以确认这是jqGrid中的一个bug。因此,无论以何种方式,对您来说都是+1

//如果(i==0){this.selected=”“;}
根据单个选择的问题对您引用的进行了注释。看见因此,我可以提出两种解决问题的方法:

1) 将上述注释替换为以下行

//修复在multiple=true上选择第一项时出现的IE8/IE7问题
如果(i==0&&elem.multiple){this.selected=false;}
2) 在
$(“option”,elem)后面添加,而不是在后面添加。每个(function(i){…})

//修复在multiple=true上选择第一项时出现的IE8/IE7问题
var$first=$(“选项:first”,elem);
if($.inArray($.trim($first.text()),ovm)<0&&$.inArray($.trim($first.val()),ovm)<0){
$first[0]。所选值=false;
}
我不确定哪种错误修复是最安全的

可以用来重现错误。你可以使用IE9,用F12启动开发者工具,选择IE8作为“浏览器模式”,选择“IE标准”作为“文档模式”。毕竟,您可以在网格中选择项目“SM000237”,并验证是否与“银行费用”一起选择了“会计自由”项目,而不是仅选择“银行费用”


和演示都修复了bug,并使用了上述修复。

我在刚刚使用最新版本jqGrid的地方进行了测试。在我的测试中,一切都正常。您可能应该发布演示或指向演示的链接,其中使用了
jquery.jqGrid.src.js
,可以重现所描述的问题。我确实可以重现您从中描述的问题。我会更多地检查脚趾问题,并将结果发布给你。“好”:)已经开始抓挠我即将大胆的脑袋。我比较了你的演示代码和我的。不同之处在于,您还具有
值:'
。出于好奇,我尝试了这个方法,它似乎很管用。希望它能在下一个版本中得到修复,这样我们就不会再提出这个问题了。@Simon:我刚刚发到trirand。我希望这个问题能在jqGrid的主代码中很快得到解决。