• jqGrid 实现这种select 同一列的不同行的select 的option 不同


    jqGrid 的简介

    jqgrid 是一个基于jquery 的web 端 table/tree grid 的组件。

    官方网址:

    http://www.jqgrid.com


    默认的select 定义方式

    {name:'ship',index:'ship', 90, editable: true,edittype:"select",editoptions:{value:"FE:FedEx;IN:InTime;TN:TNT;AR:ARAMEX"}}
    默认的定义方式是在grid 的定义选项中设置 colModel 的col 定义按照以上的定义方式。
    FE:FedEx ==> 冒号前面是value , 后面是显示的text.

    这样的设定后, 一列下面所有的此栏位的下拉单的选项都是一样的。如何设定各行此栏位的选项不一致呢?
    datatype 为非 local 的状况没有考虑过, 如果为local 的实现如下:


    客制实现

    colModel 中的定义

    {name:'note',index:'note', editable:true,edittype:'custom', editoptions:{custom_element: myelem, custom_value:myvalue},150, sortable:false} ]

    javascript function 定义
    function myelem(value, options) {
    var el = document.createElement("select");
    if(value!=null&&value.length>0)
    {
    	  var optvalues = eval(value);
    	  if(optvalues.length>0)
    	  {
    		  for(var i=0;i<optvalues.length;i++)
    	      {
    			  var optvalue = optvalues[i].optvalue;
    			  var optdisplay = optvalues[i].optdisplay;
    			  var optel = document.createElement("option");
    			  optel.innerHTML = optdisplay;
    			  optel.value = optvalue;
    			  el.appendChild(optel);
    	      }
    	  }
    }
    return el;
    }
    
    function myvalue(elem, operation, value) {
      if(operation === 'get') {
      	return $(elem).val();
      } else if(operation === 'set') {
      	$(elem).val(value);
      }
    }
    

    data 的添加时, 此栏位的值以json 格式赋值: 像
    {optvalue:'value',optdisplay:'display'}




  • 相关阅读:
    POJ 1300 Open Door
    POJ 2230 Watchcow
    codevs 1028 花店橱窗布置
    codevs 1021 玛丽卡
    codevs 1519 过路费
    codevs 3287 货车运输
    codevs 3305 水果姐逛水果街二
    codevs 1036 商务旅行
    codevs 4605 LCA
    POJ 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3035971.html
Copyright © 2020-2023  润新知