gpt4 book ai didi

jQueryUI 自动完成值与标签不同

转载 作者:行者123 更新时间:2023-12-03 21:58:46 25 4
gpt4 key购买 nike

如果返回的 json 对象如下所示,我有一个可以正常工作的 jQuery UI Autocomplete:

label:name
value:name

然后它会搜索 myname,当用户选择一个时,它会用 myname 填充输入框。

但我想要的是 json 对象看起来像这样:

label:name
value:id

当我这样做时,自动完成功能会使用 ID 号而不是名称字符串填充输入框。

如何让自动完成功能将显示的文本设置为名称,将隐藏的值设置为值?

我在官方文档中没有看到任何方法可以做到这一点。

这是我的自动完成:

$("#eventAccount").autocomplete({
minLength: 2,
source: function (request, response) {
var term = request.term;
if (term in cache) {
response(cache[term]);
return;
}

request.e = "getMyAccountAutocomplete";

$.getJSON("/admin/ajaxController.php", request, function (data, status, xhr) {
cache[term] = data;
response(data);
});
}
});

以及它返回的 JSON:

[{"label":"My fancy name","value":"229"}]

最佳答案

没有内置方法可以做到这一点。相反,您应该覆盖 select event ,并自行更新input值;

$("#eventAccount").on("autocompleteselect", function (e, ui) {
e.preventDefault(); // prevent the "value" being written back after we've done our own changes

this.value = ui.item.label;
// Put ui.item.value somewhere
});

关于jQueryUI 自动完成值与标签不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16308554/

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