JQuery-Select2 -操作发送的http-post数据以发送文本而不是id
JQuery-Select2 - Manipulate the sended http-post data to send the text not the IDs
有一段时间我使用tagsinput为Bootstrap 3,它工作得很好。现在我改成了select2,这很简单,也很好。我只有两个小问题,我希望你能帮助我——我不太确定如何处理javascript。
先决条件:select2正在工作,使用ajax与json-response。
1。当用户发送表单时,他输入的新单词将以这种方式发送,他从ajax响应中选择的单词将通过其id发送。我需要的是,所有输入和选择的单词都作为单词(没有id)发送。
我需要在哪里更改脚本?I tried:
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);
}
});
});
非常感谢,并致以最良好的祝愿Aljoscha 将以下代码添加到我们的select2:
id: function(object) {
return object.text;
}
我使用的是3.5.2版本
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- JavaScript-onClick将按钮ID或单击按钮的文本传递给函数
- 如何在Jquery函数中为自动完成文本区域指定一个变量作为Id
- 从id标记中的文本进行检查,并将类添加到另一个标记中
- Javascript:获取具有动态id的文本框值
- 更改错误文本“用户 ID 或密码不正确”
- 获取带有 jQuery 中的文本值的 AN LI 的 ID
- 从 li 获取文本和 id 值
- 对具有相同 id 的多个元素进行文本验证
- 修复Javascript代码以将文本中的所有Youtube链接转换为Youtube ID功能
- 除了类、id 和文本之外,我还如何在 jQuery 中的元素中传递变量
- 在按键时检索文本区域的 ID
- 如何将文本插入到几个带有 id 的文本区域中的一个文本区域中
- 使用纯JS点击即可从li元素中获取文本和id
- 使用javascript/jQuery获取文本id
- 在加载模式中从输入文本id获取img src
- 如何获取选定的文本id,并用javascript替换保持标签完整的文本
- 如何获取动态创建的文本框的动态输入文本id
- 当使用Javascript克隆表行时,增加我的输入文本id
- 动态创建输入文本 ID,并在 JavaScript 中获取它并在 UI 中加载值