У меня есть jqGrid с, говорят, что информация о пользователе, которая должна быть отредактирована в форме. Имя пользователя неизменно, но должно появиться в форме, таким образом, пользователь знает, какого пользователя они редактируют. Пароль является редактированием только. Таким образом в моем colModel у меня есть настройки как это:
{name:'username', index:'username', width:155, editable:true, editoptions: {readonly:'readonly'}},
{name:'password', index:'password', width:155, hidden:true, editable: true, edittype:'password', editrules:{edithidden:true}},
Это хорошо работает для редактирования. Моя проблема идет, добавляют, что я должен сделать имя пользователя 'не только для чтения'. Я не вижу свойств для управления добавить формой по сравнению с формой редактирования. Возможно, я могу использовать afterShowForm
событие для изменения editoptions? Кто-либо сделал что-нибудь как это?
В случае, если это будет полезно кому-то еще, я не смог сделать это точно, но нашел способ достичь конечного результата.
Таким образом, вместо того, чтобы использовать editoptions для установки поля формы только для чтения, я использовал событие передShowForm опций add & edit для добавления и удаления атрибута readonly.
Таким образом, колмодель без readonly:
{name:'username', index:'username', width:155, editable:true},
{name:'password', index:'password', width:155, hidden:true, editable: true, edittype:'password', editrules:{edithidden:true}},
и NavGrid edit & add options to turn the readonly on (for add) or off (for edit). Обратите внимание, что идентификатором INPUT-тега будет значение поля name
в colModel:
jQuery("#user-grid").jqGrid('navGrid','#user-grid-pager',
{ }, //options
{ // edit options
beforeShowForm: function(frm) {
$('#username').attr('readonly','readonly');
}
},
{ // add options
beforeShowForm: function(frm) {
$('#username').removeAttr('readonly');
}
},
{ }, // del options
{ } // search options
);
На заметке, хотя я знаю (согласно jquery dump), что функция 'frm' arg является объектом jQuery, содержащим форму, я не смог получить селектор для успешного выбора нужного мне ребенка, поэтому я просто использовал идентификатор, который совпадает с именем colModel.