Я знаю, что редактирование ячейки с помощью datepicker возможно из-за ссылок here и here. Однако, когда я нажимаю на ячейку, не появляется датапикер. Ниже приведена запись colModel для рассматриваемого столбца. У меня есть пользовательский интерфейс datepicker.реализация jqgrid cell edit datepicker
В других примерах dataInit не окружен кавычками. Это в моем коде, потому что весь colModel динамически создается PHP во время запроса AJAX. Я создаю его как массив, а затем json_encode его передают обратно в jqGrid. PHP json_encode создает действительный JSON, поэтому все ключи цитируются как строки. Должен ли я удалять кавычки для правильной работы jqGrid? Если да, то как?
Запись colModel для столбца даты:
{
"editable":true,
"name":"date",
"index":"date",
"sorttype":"date",
"editrules":{"date":true},
"editoptions":{
"dataInit":"function(elem){
setTimeout(function(){
$(elem).datepicker();
},100);
}"
}
}
Вот структура запроса АЯКС:
$(document).ready(function(){
$.ajax({
type: "GET",
datatype: "json",
success: function(result){
try{
//alert(result);
result = jQuery.parseJSON(result);
}catch(err){
alert("error in success json " + err);
return;
}
var colN = result.colNames;
var colM = result.colModelList;
var colD = result.colDataList;
grid.jqGrid({
datatype: 'local',
colNames:colN, //column names
colModel:colM, //column options
data:colD, //table data
editurl: 'clientArray',//changes are not sent to server
cellEdit: true,
cellsubmit: 'clientArray',
});
}
});
});
Кроме того, я использую jqGrid 4.0.0
Олег отвечает [здесь] (http://stackoverflow.com/questions/5171617/how-to-add-custom-formatter-for-jqgrid-with-dynamic-column-binding/5175127#5175127) – Andrea
Это появляется (имя свойства изменилось, но проблема одна и та же: вы не можете передавать код javascript *** *** через JSON, это для данных. Вы должны сделать некоторую обработку где-нибудь рядом с этим путь, чтобы вернуть данные строки в код. – TML