В списке множественного выбора JqGrid всегда выбирается первая опция в режиме редактирования с IE7 / 8 - PullRequest
3 голосов
/ 13 марта 2012

Сетка (v4.3.1) выбирает правильные значения в раскрывающемся списке при переходе в режим редактирования.

Однако, похоже, есть проблема с IE 7 и IE 8, которые автоматически выбирают первый элемент, вместе с другими значениями, которые также должны быть выбраны.

Кто-нибудь сталкивался с этим с IE7 / 8?

При изучении исходного кода для jqgrid я также увидел закомментированную строку, которая фактически исправит эту проблему. Это было прокомментировано в этом changeset и исправило еще одну проблему, как прокомментировал Олег. Хотя еще не выяснил, что это за проблема.

1 Ответ

3 голосов
/ 13 марта 2012

Я изучил описанную проблему и могу подтвердить, что это ошибка в 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 обе исправляют ошибку и используют описанные выше исправления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...