我有这个代码片段

var combo = new dhtmlXCombo("combo_zone4", "alfa4", 230);
    combo.loadXML("create_store2.php");
    combo.attachEvent("onChange", onChangeFunc);
    combo.enableFilteringMode(true, "select_store.php");
    function onChangeFunc() {
        var d=combo.getSelectedValue();
        var product=$("#selProduct");
        product.find('option').remove();

        $.ajax({
            url: "select_store2.php",
            data: "store=" + d,


我的问题是这3个文件是用来做什么的,为什么我们需要调用三个不同的文件。

片段1:

combo.loadXML("create_store2.php");


create_store2接缝返回一些XML数据,一些<option>标记。

片段2:

combo.enableFilteringMode(true, "select_store.php");


select_store接缝返回一些XML数据,一些<option>标记。

片段3:

url: "select_store2.php",


select_store2接缝返回一些JSON数据,这可能是自动完成调用的结果。

最佳答案

我从未使用过dhtmlx components,但是API确实发出了一些严重的危险信号,数据真的只能用xml responses加载吗?

这是我从API收集的信息。

loadXML从XML文件中加载其他选项(我也可以在脚本中设置这些选项)

enableFilteringMode在您键入时启用建议,我认为create_store2.php中的loadXML调用也为组合提供了其初始数据集。

我猜想jquery ajax调用会更改组合框的内容,其中组合由select_store2.php提供的值由combo的选定值过滤,但是我需要查看其余代码才能确定。由于这是jquery,因此该数据将以json返回,并且我认为稍后会在代码中进行手动处理。

09-20 23:51