jQuery DoubleSelect / Cascade / Dependent / WalkRight Select菜单是否支持Ajax?

时间:2010-07-11 19:55:55

标签: jquery-plugins jquery

您可以从<select>菜单中选择一个项目,然后填充第二个<select>菜单。

名称太多,实施太多了。我正在寻找一个可以使用Ajax提取数据的最新版本(适用于最新版本的jQuery)。

有人可以推荐一个好的插件吗?

1 个答案:

答案 0 :(得分:2)

// simple code but can be improved for need
function getListBoxValue(obj) {
        obj = $.extend({
            url: "",
            bindObj: null,
            emptyText: "exception",
            postValues : {},
            onComplete: function () { return true; },
            onError: function () { return false; }
        }, obj);

        $.ajax({
            url: obj.url,
            data: obj.postValues,
            type: "POST",
            dataType: "JSON",
            success: function (json) {
                var options;
                $.each(json, function (i, e) {
                    options += "<option value='" + e.Value + "'>" + e.Text + "</option>";
                });
                $(obj.bindObj).html(options);
                obj.onComplete(obj);
            },
            error: function (e, xhr) {
                $(obj.bindObj).html("<option value='-1'>" + obj.emptyText + "</option>");
                obj.onError(obj);
            }
        });
    }


// server response data json 
[{ "Value": 1, "Text": "text 1 " },{ "Value": 2, "Text": "text 2"}]


getListBoxValue({
    url: responseJsonDataURL, // example
    bindObj: $("select#YourID"), // example
    emptyText:"exception text", // example
    postValues: {"id": 45}, // example
    onComplete: _onCompleteFunction, // optional
    onError: _onErrorFunction // optional
})