2012-06-21 65 views
0
结合

enter image description here jQuery(document).ready(function() { jqGrid的内联下拉通过AJAX

var grid = $("#list"); 

    var AllCategory={"1":"Computing","2":"Cooking","10":"Fiction","3":"Finance","6":"Language","4":"Medical","11":"News","8":"Philosophy","9":"Religion","7":"Sport","5":"Travel"}; 


    grid.jqGrid({ 
     url: '/SupplierOrder/Select_SupplierOrderDetailByX/', 
     editurl: "clientArray", 
     datatype: 'json', 
     mtype: 'GET', 
     colNames: ['Category', 'Qty'], 
     colModel: [ 
         { 
          name: 'Category', index: 'CategoryID', align: 'left', editable: true, edittype: "select", formatter: 'select', 
          editoptions: { value: AllCategory }, editrules: { required: true } 
         }, 
         { name: 'Qty', index: 'Qty', width: 40, align: 'left', editable: true, edittype: "text", editoptions: { size: "35", maxlength: "50"} } 
       ], 
     pager: jQuery('#pager'), 
     rowNum: 10, 
     rowList: [5, 10, 20, 50], 
     sortname: '', 
     sortorder: '', 
     viewrecords: true, 
     autowidth: true, 
     autoheight: true, 
     imgpath: '/scripts/themes/black-tie/images', 
     caption: 'Supplier Order Detail' 
    }) 
    grid.jqGrid('navGrid', '#pager', { edit: false, add: false, del: true, refresh: false, search: false }, {}, {}, {}, {}); 
    grid.jqGrid('inlineNav', '#pager', { 
     addtext: "Add", 
     edittext: "Edit", 
     savetext: "Save", 
     canceltext: "Cancel" 
    }); 

}); 

这是我的jqGrid。

然后,我首先删除下面的代码...

var AllCategory={"1":"Computing","2":"Cooking","10":"Fiction","3":"Finance","6":"Language","4":"Medical","11":"News","8":"Philosophy","9":"Religion","7":"Sport","5":"Travel"}; 

下面的代码替换,这样我可以得到动态的数据...

var AllCategory = (function() { 
var list = null; 

$.ajax({ 
async: false, 
global: false, 
type: "POST", 
url: 'Category_Lookup', 
dataType: 'json', 
data: {}, 
success: function (response, textStatus, jqXHR) { 
    list = response; 
}, 
error: function (jqXHR, textStatus, errorThrown) { 
    alert("jqXHR.responseText --> " + jqXHR.responseText + "\njqXHR --> " + jqXHR + "\ntextStatus --> " + textStatus + " \nerrorThrown --> " + errorThrown); 
} 
}); 
alert(list); 

return list; 
})(); 

,我得到下面的消息框.. 。

enter image description here

然后我得到错误

enter image description here

任何人都可以请告诉我如何使它正确吗? 每个建议将不胜感激。

回答

0

格式错误。它应该是:

<select><option value=“1”>One</option> <option value=“2”>Two</option></select> 

检查http://www.trirand.com/jqgridwiki/doku.php?id=wiki:search_config(dataUrl)。

这是一个工作示例。信息取自数据库,然后在相应的控制器操作中格式化。

<th role="columnheader" class="ui-state-default ui-th-column ui-th-ltr"> 
<div style="width:100%;position:relative;height:100%;padding-right:0.3em;"> 
    <select name="TypeCode" id="gs_TypeCode" style="width: 100%; "> 
    <option></option> 
    <option value="1">cosas!</option> 
    <option value="2">mascosas</option> 
    <option value="3">yast</option> 
    <option value="4">tiparraco</option> 
    </select> 
</div> 
</th> 

很抱歉的蹩脚的格式,但我不能发布图片... 希望它能帮助。

+0

感谢您的帮助@smp,'