0

我有一个 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。

谢谢。

4

1 回答 1

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;
    // ...
});
于 2013-11-15T17:13:33.510 回答