Javascript Jqgrid既没有从dataUrl调用spring控制器,也没有在buildSelect中显示用于填充下拉列表的警报
我是这个jquery的新手,所以我不得不从url(/operator/vehicles/getAllVehicles)填充下拉列表。 我关注了这个网站上的很多帖子,甚至很多博客,但都没有找到解决方案。 我有spring controller,它在datatable中提供车辆列表,现在在添加新车辆时,我需要数据库中的车辆模型,因此我创建了一个url(/operator/vehicles/getAllVehiclesModels),用于检索车辆模型列表。此模型列表url由editoptions的数据url调用。现在,这个url应该由dataUrl调用,但它不是。我已经打印了一些要检查的文本,但它没有被调用,文本也没有打印 我尝试从控制器返回html元素,如:Javascript Jqgrid既没有从dataUrl调用spring控制器,也没有在buildSelect中显示用于填充下拉列表的警报,javascript,jquery,spring,spring-mvc,jqgrid,Javascript,Jquery,Spring,Spring Mvc,Jqgrid,我是这个jquery的新手,所以我不得不从url(/operator/vehicles/getAllVehicles)填充下拉列表。 我关注了这个网站上的很多帖子,甚至很多博客,但都没有找到解决方案。 我有spring controller,它在datatable中提供车辆列表,现在在添加新车辆时,我需要数据库中的车辆模型,因此我创建了一个url(/operator/vehicles/getAllVehiclesModels),用于检索车辆模型列表。此模型列表url由editoptions的数据
@RequestMapping(value="/getAllVehiclesModels", method=RequestMethod.GET)
public @ResponseBody String getAllVehicleModels(){
System.out.println("Vehicles Model List size: "+vehicleModelService.getAllVehicleModels().size());
List<VehicleModelVO> vehicleModelVOs =vehicleModelService.getAllVehicleModels();
StringBuilder sb=new StringBuilder("<select>");
for(VehicleModelVO vo: vehicleModelVOs){
sb.append("<option value=" + vo.getId() + ">"+ vo.getName() + "</option>");
}
sb.append("</select>");
System.out.println("Final String select: "+sb.toString());
return sb.toString();
}
在上述情况下,我的控制器以如下形式返回值:“1:1;2:2;3:3”
url:”,
页面加载时打印什么?这一行的url是否正确?当页面加载时,数据表将加载来自operator/vehicles/getAllVehicles的值。对于这一点,有另一个映射的方法,我没有在这里发布,因为它工作正常。问题在于dataUrl:“/operator/vehicles/GetAllVehicleModels”。
jQuery("#vehicles_list").jqGrid({
url: '<c:url value="/operator/vehicles/getAllVehicles" />',
datatype: "json",
jsonReader: {repeatitems: false, root: function (obj) { return obj; }},
colNames:['Number Plate', 'Vehicle Model', 'No Of Seats', 'Image'],
colModel:[
{name:'numberPlate',index:'numberPlate', width:100, editable:true, edittype:'text', editoptions: {size:25, maxlength:255}},
{name:'vehicleModelName',
index:'vehicleModelName',
width:100, editable:true,
edittype:'select',
editoptions:{dataUrl: '/operator/vehicles/getAllVehiclesModels' ,
buildSelect: function (response) {
var data = typeof response === "string" ?
$.parseJSON(response.responseText) : response,
s = "<select>";
s += '<option value="0">--No Manager--</option>';
$.each(data, function ()
{
s += '<option value=1>1</option>';
});
return s + "</select>";
}
}
},
{name:'vehicleModelNoOfSeats', index:'vehicleModelNoOfSeats'},
{name:'image',formatter: getImage, editable:true, edittype:'file', editoptions: { enctype: "multipart/form-data"} }
],
autowidth: true,
scrollOffset: 0,
rowNum:10,
rowList:[10,20,30],
pager: jQuery('#vehicles_list_pager'),
viewrecords: true,
gridview: true,
loadonce: true,
multiselect: true
});
function getSelectValues(){
$.getJSON("/operator/vehicles/getAllVehiclesModels", null, function(data) {
alert("hello");
if (data != null) {
alert(data);
return data;
}
});
}