日期:2014-05-16  浏览次数:20494 次

谁用过jqGrid?被select卡住了
JScript code
  $("#grid").jqGrid({
    url:'getdata.php',
    datatype: 'xml',
    mtype: 'GET',
    colNames:[
        'ID','日期', '用户'
    ],
    colModel :[
      {name:'id', index:'id', width:40}, 
      {name:'logdate', index:'logdate', width:80, editable:false, formatter:'date', formatoptions:{srcformat:'Y-m-d', newformat:'Y-m-d'}, editrules:{date:true} }, 
      {name:'worker', index:'worker', width:60, editable:true, edittype:'select', formatter:'select',editoptions: { size: 1,dataUrl: 'getselect.php?stype=users'},
...


这是表格构建代码,“用户”是通过 getselect.php 获取数据库得到一个select元素,类似:

<select>
<option value='zs'>张三</option>
<option value='ls'>李四</option>
<option value='ww'>王五</option>
</select>

问题来了,这样处理在编辑状态下正常,可以显示一个select元素,但是在jqGrid表格中显示为空白,如果把formatter:'select'去掉,表格仅显示为用户代码(zs,ls,ww),我希望是显示成用户名,只有不通过动态获取数据,而是设置为数组才能使编辑和显示都正常( editoptions:{value:'zs:张三;ls:李四;ww:王五'} ),求救怎么通过动态获取数据并且使显示正常?

------解决方案--------------------
formatter:'select'不支持 dataUrl。你可以在jquery.jqGrid.src.js里面搜索 :$.unformat.select,就知道它怎么解析了。