Javascript JQuery-Select2-操作发送的http post数据以发送文本而不是ID
有一段时间,我用tagsinput作为Bootstrap3,效果很好。现在我改成了select2,它非常简单而且非常好。我只有两个小问题,希望你们能帮助我——我不太确定如何处理javascript 前提条件:select2正在工作,使用ajax和json响应。选择用于标记输入的2 1.当用户发送表单时,他输入的新词将以这种方式发送,他从ajax响应中选择的词将以其id发送。我需要的是,所有输入的和选择的词都将作为词(无id)发送 我需要在脚本中的什么地方更改它? 我试过:Javascript JQuery-Select2-操作发送的http post数据以发送文本而不是ID,javascript,jquery,forms,http-post,jquery-select2,Javascript,Jquery,Forms,Http Post,Jquery Select2,有一段时间,我用tagsinput作为Bootstrap3,效果很好。现在我改成了select2,它非常简单而且非常好。我只有两个小问题,希望你们能帮助我——我不太确定如何处理javascript 前提条件:select2正在工作,使用ajax和json响应。选择用于标记输入的2 1.当用户发送表单时,他输入的新词将以这种方式发送,他从ajax响应中选择的词将以其id发送。我需要的是,所有输入的和选择的词都将作为词(无id)发送 我需要在脚本中的什么地方更改它? 我试过: results: fu
results: function (data) {
return {
results: data
};
}
to results: function (data) {
return {
results: data.text
};
}
但这破坏了搜索功能
2.第二个问题可能是相同的。当用户刷新表单时,将显示他输入的新词,但他从ajax请求中选择的新词仅显示其ID
$(document).ready(function () {
$('#keywords').select2({
tags: true,
tokenSeparators: ["\n"],
createSearchChoice: function (term) {
return {
id: term,
text: term
};
},
ajax: {
url: "/slipbox/entities/jsonKeywords",
dataType: 'json',
data: function (term) {
return {
q: term
};
},
results: function (data) {
return {
results: data
};
}
},
initSelection: function (element, callback) {
var data = [];
function splitVal(string, separator) {
var val, i, l;
if (string === null || string.length < 1) return [];
val = string.split(separator);
for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
return val;
}
$(splitVal(element.val(), ",")).each(function () {
data.push({
id: this,
text: this
});
});
callback(data);
}
});
});
$(文档).ready(函数(){
$(“#关键字”)。选择2({
标签:是的,
令牌分隔符:[“\n”],
createSearchChoice:函数(术语){
返回{
id:术语,
文本:术语
};
},
阿贾克斯:{
url:“/slipbox/entities/jsonKeywords”,
数据类型:“json”,
数据:功能(术语){
返回{
问:任期
};
},
结果:功能(数据){
返回{
结果:数据
};
}
},
initSelection:函数(元素,回调){
var数据=[];
函数splitVal(字符串、分隔符){
var val,i,l;
if(string==null | | string.length<1)返回[];
val=string.split(分隔符);
对于(i=0,l=val.length;i
非常感谢,并致以最良好的祝愿
Aljoscha将此代码添加到我们的select2:
id: function(object) {
return object.text;
}
我使用3.5.2版本