我有一个JSP,我正在尝试使用dhtmlXCombo组件。
在JSP中,我有一个包含大约100多行的表,每行都有一个订单的详细信息,在每行的最后一列中我想要一个dhtmlXCombo组件,我可以更新每个订单的状态。 dhtmlXCombo有一个从数据库中检索的状态选项列表。
我按如下方式创建dhtmlXCombo:
var z = new dhtmlXCombo("testA", "testA", 200);
z.loadXML("getStatus.xml");
没有问题但是后来在代码中我循环遍历数组列表并创建表行,因为我创建了每一行我希望能够说:
<div id="testA" style="width:200px; height:30px;"></div>
因为我想在每一行中使用相同的dhtmlXCombo,但这不起作用,因为div id在页面中必须是唯一的,所以我不能为我创建的每一行放置div id =“testA”(如果我那么它只创建第一个dhtmlXCombo)。
有关如何解决此问题的任何建议?基本上我想在同一页面中多次使用相同的dhtmlXCombo。
感谢。
答案 0 :(得分:0)
首先检索xml,并在每次创建新的dhtmlXCombo时重复使用它。
例如使用jQuery检索xml:
<div id="testA" style="width:200px; height:30px;"></div>
<div id="testB" style="width:200px; height:30px;"></div>
<div id="testC" style="width:200px; height:30px;"></div>
$(function () {
$.ajax({
type: "GET",
url: "getStatus.xml",
dataType: "xml"
}).done(function (response) {
var testA = new dhtmlXCombo("testA", "testA", 200),
testB = new dhtmlXCombo("testB", "testB", 200),
testC = new dhtmlXCombo("testC", "testC", 200);
testA.loadXMLString(response);
testB.loadXMLString(response);
testC.loadXMLString(response);
});
});
或者,如果您不使用jQuery,可以使用dhtmlxAjax:
dhtmlxAjax.get("getStatus.xml", function (loader) {
var response = loader.xmlDoc.responseXML;
// ...
});