Свяжите asp.net данные со стороны сервера в Html Combobox - PullRequest
1 голос
/ 16 октября 2010

Здравствуйте, я хочу использовать Jquery UI AutoComplete Combobox в моем приложении asp.net.Вот мой пример кода:

Мой Combobox - это элемент управления html.как я могу привязать к нему данные со стороны сервера?Или возможно ли использовать поле автозаполнения Jquery для списков asp.net?Выберите один ... ASP C ++ Coldfusion Groovy Haskell Java Java Perl PHP Python Рубин Scala

JavaScript :

<script type="text/javascript">
(function ($) {
    $.widget("ui.combobox", {
        _create: function () {
            var self = this;
            var select = this.element.hide();
            var input = $("<input>").insertAfter(select).autocomplete({
                source: function (request, response) {
                    var matcher = new RegExp(request.term, "i");
                    response(select.children("option").map(function () {
                        var text = $(this).text();
                        if (this.value && (!request.term || matcher.test(text))) return {
                            id: this.value,
                            label: text.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"),
                            value: text
                        };
                    }));
                },
                delay: 0,
                change: function (event, ui) {
                    if (!ui.item) {
                        // remove invalid value, as it didn't match anything
                        $(this).val("");
                        return false;
                    }
                    select.val(ui.item.id);
                    self._trigger("selected", event, {
                        item: select.find("[value='" + ui.item.id + "']")
                    });

                },
                minLength: 0
            }).addClass("ui-widget ui-widget-content ui-corner-left");
            $("<button>&nbsp;</button>").attr("tabIndex", -1).attr("title", "Show All Items").insertAfter(input).button({
                icons: {
                    primary: "ui-icon-triangle-1-s"
                },
                text: false
            }).removeClass("ui-corner-all").addClass("ui-corner-right ui-button-icon").click(function () {
                // close if already visible
                if (input.autocomplete("widget").is(":visible")) {
                    input.autocomplete("close");
                    return;
                }
                // pass empty string as value to search for, displaying all results
                input.autocomplete("search", "");
                input.focus();
            });
        }
    });

})(jQuery);

$(function () {
    $("#combobox").combobox();
    $("#toggle").click(function () {
        $("#combobox").toggle();
    });
});
</script>

1 Ответ

1 голос
/ 23 октября 2010

Вы бы привязали источник данных к элементу выбора / раскрытия, как если бы к нему не был прикреплен комбинированный список. И вот как вы должны начать. Приведите его в действие, не мешая прибору. После того, как вы получите данные и откроете их, вы сможете добавить код, который у вас есть выше, и вы получите золотую медаль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...