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>';
};