Javascript jqGrid:grid函数只执行一次
抱歉,这是一个Javascript初学者问题。我的jqGrid函数在第一次运行时很好,但是当我第二次调用它时,什么都没有发生,没有发出请求。代码片段:Javascript jqGrid:grid函数只执行一次,javascript,jqgrid,Javascript,Jqgrid,抱歉,这是一个Javascript初学者问题。我的jqGrid函数在第一次运行时很好,但是当我第二次调用它时,什么都没有发生,没有发出请求。代码片段: $(document).ready(function() { $("#submit").click(function(e) { e.preventDefault(); var brandsDropdown = document.getElementById("brandsDropdown"); var brandI
$(document).ready(function() {
$("#submit").click(function(e) {
e.preventDefault();
var brandsDropdown = document.getElementById("brandsDropdown");
var brandId = brandsDropdown.options[brandsDropdown.selectedIndex].value;
var searchParams = "brandId=" + brandId;
doGrid(searchParams);
});
});
function doGrid(searchParams) {
alert("doGrid, searchParams:" + searchParams);
var url="${pageContext.request.contextPath}/services/setup/project";
var editurl="${pageContext.request.contextPath}/services/setup/project";
$("#projectList").jqGrid({
url: url + "?" + searchParams,
editurl: editurl,
datatype: 'xml',
mtype: 'GET',
...
});
alert()告诉我第二次调用doGrid()时确实成功了。因此,实际上是$(“projectList”).jqGrid()函数不执行,或以静默方式失败。。除非我在我所说的方式上犯了一个明显的错误?我认为第二次不再需要重新生成整个网格。然后,您只需更改到目前为止的设置参数和网格计算。为此,您需要一个
触发器(“reloadGrid”)
调用
$(document).ready(function() {
var runonce=假
$("#submit").click(function(e) {
e.preventDefault();
var brandsDropdown = document.getElementById("brandsDropdown");
var brandId = brandsDropdown.options[brandsDropdown.selectedIndex].value;
var searchParams = "brandId=" + brandId;
doGrid(searchParams);
});
});
function doGrid(searchParams) {
alert("doGrid, searchParams:" + searchParams);
var url="${pageContext.request.contextPath}/services/setup/project";
var editurl="${pageContext.request.contextPath}/services/setup/project";
if (false==runonce) {
$("#projectList").jqGrid({
url: url + "?" + searchParams,
editurl: editurl,
datatype: 'xml',
mtype: 'GET',
...
});
runonce=true;
} else {
$("#projectList").jqGrid({
url: url + "?" + searchParams,
editurl: editurl
}).trigger("reloadGrid");
}