Я изучил описанную проблему и могу подтвердить, что это ошибка в jqGrid.Так что +1 для вас любым способом.
Строка
//if(i===0) { this.selected = ""; }
была прокомментирована после исправления , на которое вы ссылались, было сделано на основепроблема с выбранными single selected.Смотрите пост .Поэтому я могу предложить два способа решения проблемы:
1) заменить приведенный выше комментарий на следующие строки
// fix IE8/IE7 problem with selecting of the first item on multiple=true
if (i === 0 && elem.multiple) { this.selected = false; }
2) добавить вместо этого после $("option",elem).each(function(i){...})
строки
// fix IE8/IE7 problem with selecting of the first item on multiple=true
var $first = $("option:first",elem);
if($.inArray($.trim($first.text()),ovm) < 0 && $.inArray($.trim($first.val()),ovm) < 0 ) {
$first[0].selected = false;
}
Я не уверен, какое исправление ошибки является наиболее безопасным.
Демо можно использовать для воспроизведения ошибки.Можно использовать IE9, запустить Инструменты разработчика с F12 , выбрать IE8 в качестве «режима браузера» и выбрать «Стандарты IE» в качестве «Режима документа».В конце концов, можно выбрать элемент «SM000237» в сетке и убедиться, что элемент «Без учета» выбран вместе с «Банковские сборы» вместо выбора только «Банковские сборы».
first и second обе исправляют ошибку и используют описанные выше исправления.