Ответ 1
Я пробовал ответить на это так, как это сделать в моем собственном проекте.
Я прочитал демо-исходный код со страницы, которую вы опубликовали. В коде jquery, который генерирует комбобокс автозаполнения, я добавил одну строку кода, которая обрабатывает, когда создается combobox, которая считывает выбранное значение из вашего элемента "select". Таким образом, вы можете программным образом установить значение по умолчанию (как обычно, если вы не используете поле со списком автозаполнения)
Вот одна строка, которую я добавил:
input.val( $("#combobox option:selected").text());
Обычный и простой. Он устанавливает значение ввода текстового значения выбранного элемента из #combobox. Естественно, вы захотите обновить элементы id в соответствии с вашим отдельным проектом или страницей.
Здесь он находится в контексте:
(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");
// This line added to set default value of the combobox
input.val( $("#combobox option:selected").text());
$("<button> </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);