jQuery DoubleSelect / Каскадное / Зависимое / WalkRight Выберите меню с поддержкой Ajax? - PullRequest
2 голосов
/ 11 июля 2010

Где вы можете выбрать элемент из меню <select>, а затем он заполняет второе меню <select>.

Он имеет слишком много имен и слишком много реализаций.Я ищу последнюю версию (хорошо работает с последней версией jQuery), которая может извлекать данные с помощью Ajax.

Кто-нибудь может порекомендовать хороший плагин?

1 Ответ

2 голосов
/ 12 июля 2010
// 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
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...