在同一列中创建文本和按钮

时间:2016-05-09 14:04:48

标签: javascript jquery json jqgrid



<div style="margin-left:20px">
    <table id="jqGrid"></table>
    <div id="jqGridPager"></div>


    <br /><br />

    <input class="btn btn-default" type="button" value="Get Selected Rows" onclick="getSelectedRows()" /> 
     <input class="btn btn-default" type="button" value="Save All Rows" onclick="saveAllRows()" />
     <input class="btn btn-default" type="button" value="Get Changed Rows" onclick="getChangedRows()" />
    <br /><br /> 
</div>
&#13;
&#13;
&#13;

伙计我正在使用jqgrid,我想在同一列中创建一个可编辑的文本区域和一个按钮,但是这个textarea从json对象加载数据..这是我的代码

&#13;
&#13;
 $(document).ready(function () {
            $("#jqGrid").jqGrid({
                data: data.rows,
                datatype: "local",
                styleUI : "Bootstrap",
                colModel: [
                           { label: 'Order ID', name: 'OrderID', key: true, width: 75, hidden:true },                   
                 
                        
                           { label: 'Customer ID', name: 'CustomerID', width: 150, editable : true, edittype:"textarea"},
                         
      
                       ],
                  
				//..... other parameters 
                  
               	loadComplete: function () {
               	    var $this = $(this), ids = $this.jqGrid('getDataIDs'), i;
               	 	for (i = ids.length - 1; i >= 0 ; i--) {
               	    }
               	 for(var i=0;i < ids.length;i++)
                 {
                     var cl = ids[i]; 
                     be = "<input style='height:25px;width:50px;' type='text''   />"; 
                     se = "<input style='height:22px;width:40px;' type='button' value='..'  />";  
                     jQuery("#jqGrid").jqGrid('setRowData',ids[i],{CustomerID:be+se}); 
                     }
           
               	}
            });
            ;
            
           

            
        });
&#13;
&#13;
&#13;

它似乎没有包含来自json的数据..任何帮助??

1 个答案:

答案 0 :(得分:0)

在加载完成后,尝试从网格行数据中获取文本值的json值,并将其设置为文本区域值。我假设客户ID是你想要的文本区域

              loadComplete: function () {
                    var $this = $(this), ids = $this.jqGrid('getDataIDs'), i;
                    for (i = ids.length - 1; i >= 0 ; i--) {
                    }
                 for(var i=0;i < ids.length;i++)
                 {
                     var cl = ids[i]; 

                   var rowId = $this.jqGrid('getRowData',cl);
                   var custIdValue = rowId['CustomerID']; // 

                     be = "<input style='height:25px;width:50px;' type='text'' value='"+custIdValue '+"/>"; 

                     se = "<input style='height:22px;width:40px;' type='button' value='..'  />";  
                     jQuery("#jqGrid").jqGrid('setRowData',ids[i],{CustomerID:be+se}); 
                     }

                }