【发布时间】:2020-04-06 10:36:23
【问题描述】:
我有这个使用 ajax 的 select2 标签方法的代码:
json 数据:
[
{
"id": "5",
"text": "laravel3"
},
{
"id": "4",
"text": "laravel2"
}
]
代码:
$(document).ready(function(){
$('#tag_list').select2({
placeholder: "Choose tags...",
tags: true,
minimumInputLength: 3,
tokenSeparators: [",", " "],
createSearchChoice: function(term, data) {
if ($(data).filter(function() {
return this.text.localeCompare(term) === 0;
}).length === 0) {
return {
id: term,
text: term
};
}
},
ajax: {
url: '/tags/find',
dataType: 'json',
data: function (params) {
return {
q: $.trim(params.term)
};
},
processResults: function (data) {
return {
results: data
};
},
delay: 250,
cache: true
}
});
});
使用我的代码,我可以从数据库中搜索和选择数据,或者将新标签添加到我的 select2 区域。现在,当我从数据库中选择数据时,<option value=""> 是数据 id 但是当我添加新标签时 <option value=""> 是 name(text),如下所示:
现在我需要将选项 value(获取数据库数据)从数据 id 更改为数据 name(文本)。如何将选项数据值从 id 更改为 name?!
【问题讨论】:
-
如何将
newtag选项添加到您的 select2 下拉列表中? -
@Terry
newtag输入新标签并输入... -
@LaraBell 在什么用途您使用选择框?...它可能正在向服务器提交数据对吗?...那个时候您需要 id 而不是文本...所以保留 id 作为值是更好。
标签: javascript jquery jquery-select2