1

我在一个带有不同文本框的表单上有几个自动完成,所以我尝试重构自动完成。它起作用了……除了一个非常烦人的小细节。

我的文本框都是基于百分比的宽度、不同的大小,并且在引导结构中使用 class = "row" 和 "col-md-9" 来布局页面。长话短说:不同的尺寸,而不是预设的宽度。

为什么这是个问题?不将宽度设置为 ul-autocomplete 意味着它最初会尝试匹配元素,但结果比它扩展的框“更宽”。大多数研究表明设置权重很容易,只需在 CSS 中设置 weight: ?px 即可。显然我不能那样做。那么我的选择是什么?

如果需要,我的 jquery:

$('*[data-autocomplete-url]')
        .each(function () {
            var ddl = $(this);
            $(this).autocomplete({
                dataType: 'json',
                source: function (request, response) {
                    $.get((ddl.data("autocomplete-url")), { phrase: request.term }, function (data) {
                        response($.map(data, function (item) {
                            return {
                                label: item.Text,
                                value: item.Value,
                                id: item.Value
                            };
                        }));
                    });
                },
                focus: function (event, ui) {
                    event.preventDefault();
                    ddl.val(ui.item.label);
                },
                change: function (event, ui) {
                    if (!ui.item) {
                        ddl.val("");
                    }
                },
                autoFill: true,
                mustMatch: true,
                minLength: 4,
            });
        });
4

0 回答 0