gpt4 book ai didi

jquery - 如何使用 jQuery UI 组合框创建新值

转载 作者:行者123 更新时间:2023-12-03 22:37:37 27 4
gpt4 key购买 nike

我刚刚将 jQuery UI 组合框添加到页面中。似乎它只将选择限制为传入的(或存在于选择列表中的)。我想要做的是拥有它,以便如果用户输入一个不在选择列表中的值,它会将数据发送到服务器(在帖子上)并创建一个。我看不到任何禁用“验证”的选项。我该如何添加此功能?

--编辑--

我已添加代码以使自动完成功能与附加按钮一起使用。然而,当调用 Ajax 方法时,这不起作用。 Ajax 方法正确返回 json(颜色列表),但是当我开始输入“Re”,希望它能过滤掉包含红色的项目时,却没有。

这是我的代码:

var $colInput = $("#Colour").autocomplete({
source: function (request, response) {
$.ajax({
url: "/admin/stockitems/colours",
dataType: "json",
data: { id: null },
success: function (data) {
var arr = [];
$.each(data, function (i, val) {
arr.push(val.Title);
});
response(arr);
}
});
},
minLength: 0
}).addClass("ui-widget ui-widget-content ui-corner-left");

$("<button type='button'>&nbsp;</button>")
.attr("tabIndex", -1)
.attr("title", "Show All Items")
.insertAfter($colInput)
.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 ($colInput.autocomplete("widget").is(":visible")) {
$colInput.autocomplete("close");
return;
}
$(this).blur();
$colInput.autocomplete("search", "");
$colInput.focus();
});

最佳答案

组合框演示使用底层 select 元素作为自动完成小部件的后备存储。对于允许用户输入他们想要的任何内容的表单,我不建议这样做。

但是,您可以自己模拟组合框效果,而不会遇到太多麻烦:

var $input = $("#tags").autocomplete({
source: availableTags,
minLength: 0
}).addClass("ui-widget ui-widget-content ui-corner-left");

$("<button type='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;
}
$(this).blur();
$input.autocomplete("search", "" );
$input.focus();
});

基本上,这是自动完成小部件的默认行为,加上一个下拉所有选项的按钮。

这样,支持字段就是一个 input 元素,您可以在表单提交时获取用户的输入,并将其添加到源中以供下次使用。

这是一个工作示例:http://jsfiddle.net/andrewwhitaker/CDYBk/1/

关于jquery - 如何使用 jQuery UI 组合框创建新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com