Tôi biết rằng việc chỉnh sửa ô bằng datepicker có thể do tham chiếu here và here. Tuy nhiên, khi tôi bấm vào ô, không có datepicker hiển thị. Dưới đây là mục nhập colModel cho cột được đề cập. Tôi có giao diện người dùng datepicker.thực hiện chỉnh sửa tế bào jqgrid datepicker
Trong các ví dụ khác, dataInit không được bao quanh bởi dấu ngoặc kép. Đó là trong mã của tôi bởi vì toàn bộ colModel được tạo động bởi PHP trong một yêu cầu AJAX. Tôi xây dựng nó như là một mảng, sau đó json_encode nó được chuyển trở lại jqGrid. Json_encode của PHP tạo JSON hợp lệ, vì vậy tất cả các khóa được trích dẫn dưới dạng chuỗi. Tôi có phải loại bỏ các dấu ngoặc kép để jqGrid hoạt động bình thường không? Nếu vậy, làm thế nào?
Mục colModel cho một cột date:
{
"editable":true,
"name":"date",
"index":"date",
"sorttype":"date",
"editrules":{"date":true},
"editoptions":{
"dataInit":"function(elem){
setTimeout(function(){
$(elem).datepicker();
},100);
}"
}
}
Dưới đây là cấu trúc của các yêu cầu ajax:
$(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',
});
}
});
});
Ngoài ra, tôi đang sử dụng jqGrid 4.0.0
Câu trả lời Oleg [tại đây] (http://stackoverflow.com/questions/5171617/how-to-add-custom-formatter-for-jqgrid-with-dynamic-column-binding/5175127#5175127) – Andrea
Điều này xuất hiện là một bản sao của câu hỏi trên (tên thuộc tính đã thay đổi, nhưng vấn đề là như nhau: bạn không thể chuyển javascript *** code *** qua JSON, nó cho dữ liệu. Bạn phải làm một số xử lý ở đâu đó dọc theo đó đường dẫn để lấy dữ liệu chuỗi-ified trở lại thành mã. – TML