Lib.Web.Mvc: ДЕЙСТВИТЕЛЬНО ли требуется функция buildSelect?

Недавно я тестировал эту библиотеку и заметил, что при сопоставлении свойства модели с помощью JqGridColumnEditable мы можем указать параметры dataUrl, чтобы библиотека могла получать данные для входных данных выбора (EditType = JqGridColumnEditTypes.Select).

Мой вопрос прост: действительно ли мне нужно реализовать функцию buildSelect js для фактического создания опций? Я имею в виду, что я искал ВСЕГДА шаблон json, чтобы он возвращал его, чтобы он мог построить его автоматически, потому что я не могу поверить, что он не реализован.

Кто-нибудь знает, заполняет ли он автоматически выбранный вход при получении json от dataUrl? Какой ожидаемый формат? Если это (пока) невозможно, что вы предлагаете для доступа к входу select из функции buildSelect, чтобы заполнить его вручную? Я пробовал "это", без кавычек и безуспешно.

1 ответ

Решение

К сожалению, это ограничение находится внутри самого jqGrid. Вы можете проверить документацию здесь - там четко сказано, что если вы используете dataUrl сервер должен вернуться готовым к использованию select элемент или вам нужно использовать buildSelect функция.

Когда вы используете buildSelect функция, к которой у вас нет доступа select элемент, вы возвращаете один. Это может выглядеть так (в этом примере предполагается, что ваши данные представляют собой набор объектов со свойствами Key и Name):

var buildSelectFunction = function(data) {
    var selectItems = JSON.parse(data.responseText);
    var selectMarkup = '<select>';

    if (selectItems && selectItems.length) {
        for (var i = 0; i < selectItems.length; i++) {
            var selectItem = selectItems[i];
            selectMarkup += '<option value="' + selectItem.Key + '">' + selectItem.Name + '</option>';
        }
    }

    return selectMarkup + '</select>';
};
Другие вопросы по тегам