有关在jqgrid中插入自定义元素的问题

时间:2011-04-09 16:38:31

标签: jquery jqgrid

我遵循了jqgrid文档中的规范,但是当我尝试保存行时发生错误。 这里是示例代码:

<script>
function myelem (value, options) {
  var el = document.createElement("input");
  el.type="text";
  el.value = value;
  return el;
}

function myvalue(elem, operation, value) {
    if(type=='get') {
       return $(elem).find("input").val();
    } else if(type == 'set') {
       $('input',elem).val(stringvalue);
    }
}
jQuery("#grid_id").jqGrid({
...
   colModel: [ 
      ... 
      {name:'price', ..., editable:true, edittype:'custom',
       editoptions:{custom_element: myelem, custom_value:myvalue} },
      ...
   ]
...
});
</script>

在调试的以下行中我发现type未定义是否有任何其他方法要知道该点是否为值的set或get。

...
if(type=='get') {
...

1 个答案:

答案 0 :(得分:2)

您应该使用operation代替type而使用value代替stringvalue。这似乎是jqGrid文档中的一个错误。您还应该将jQuery("#grid_id").jqGrid({...});的代码放在jQuery(document).ready(function() {/*place your code here*/});处理程序中。

如果您使用表单编辑,我建议您阅读this answer并使用recreateForm:true

更新:因为jqGrid的文档是wiki文档,并且每个人都可以修改它,我现在在您可能使用的文档中修改了the corresponding place