У меня есть поле jqGrid, которое я установил следующим образом:
colModel: [
....,
{name:'Enabled',index:'Enabled',width:45,editable:true,edittype:'checkbox',
editoptions:{value:"1:0"},
formatter: function (cellvalue, options, rowdata) {
if (cellvalue == 0) return "<span class='ui-icon ui-icon-close hidden-align' style='text-align: center'></span>";
else return "<span class='ui-icon ui-icon-check hidden-align' style='text-align: center'></span>";
},align:'center',formatoptions:{disabled:false}},
],
Дело в том, что, поскольку я помещаю изображения в значение ячейки, как я могу перейти к форме редактирования значения, чтобы флажок мог быть в отмеченном состоянии, когда значение ячейки истинно?
Заранее всем спасибо! Привет, Луиджи
1 ответ
Ты можешь использовать
formatter: function (cellvalue, options, rowdata) {
if (cellvalue == 0) {
return "<span class=\"ui-icon ui-icon-close\"></span>";
} else {
return "<span class=\"ui-icon ui-icon-check\"></span>";
}
},
edittype: 'checkbox', editoptions: {value:
"<span class=\"ui-icon ui-icon-check\"></span>:<span class=\"ui-icon ui-icon-close\"></span>"}
Или лучше использовать нет editoptions: { value: ...
, но использовать formatter
с одним из следующих значений внутри: false
, 0
, no
, off
, undefined
. См. строки кода jqGrid.
if(tmp.search(/(false|0|no|off|undefined)/i)<0 && tmp!=="") {
$("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked",true);
$("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked",true); //ie
} else {
$("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked", false);
$("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked", false); //ie
}
Для объяснения. Например форматтер
formatter: function (cellvalue, options, rowdata) {
if (cellvalue == 0) {
return "<span class=\"ui-icon ui-icon-close\">0</span>";
} else {
return "<span class=\"ui-icon ui-icon-check\">1</span>";
}
}
(без editoptions: { value: ...
) должно решить вашу проблему.
Похожие вопросы
Связанные вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.