在 jquery select2 中更改文本 "searching"
Change text "searching" in jquery select2
我正在使用带有 ajax 选项的 select2,当 ajax 运行时,文本 "searching" 出现,直到 ajax 成功。我想更改此文本(see in attached image
).
我的代码是:(参考自https://select2.org)
$("#employee_id").select2({
ajax: {
url: "get_store_data.php?type=employee_data",
dataType: 'json',
delay: 250,
data: function (params) {
return {
phrase: params.term, // search term,
store_name: jQuery("#store_name").val(),
page: 1
};
},
processResults: function (data, params) {
// console.log(data);
params.page = params.page || 1;
return {
results: data.map(function(item) {
return {
id: item.name,
text: item.name
};
}),
pagination: {
more: 0
}
};
},
placeholder: 'Search for a member id',
cache: true
},
escapeMarkup: function (markup) { return markup; },
minimumInputLength: 1
});
使用这个。对你有帮助。
$("#employee_id").select2({
ajax: {
type: 'get',
url: 'get_store_data.php?type=employee_data',
delay: 300,
dataType: 'json',
data: function (params) {
return {
search: params.term
};
},
processResults: function (data) {
return {
results: $.map(data, function (obj) {
return {
id: obj.id,
text: obj.text,
};
})
};
}
},
minimumInputLength: 2,
placeholder: "Please Select",
escapeMarkup: function (m) {
return m;
}
});
我没有找到任何如此编辑的选项 select2.min 文件。找到 searching:function(){return"Searching"}}})
并在此处更改文本。它对我有用。
更改为:
searching:function(){return"Searching..."}}})
我猜这是一个 translation 问题。尝试包含翻译文件并编辑其中的文本。为 ex en.js 创建一个文件,放置代码:
(function () {
if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) var e = jQuery.fn.select2.amd;
return e.define("select2/i18n/en", [], function () {
return {
errorLoading: function () {
return "The results could not be loaded."
}, inputTooLong: function (e) {
var t = e.input.length - e.maximum, n = "Please delete " + t + " character";
return t != 1 && (n += "s"), n
}, inputTooShort: function (e) {
var t = e.minimum - e.input.length, n = "Please enter " + t + " or more characters";
return n
}, loadingMore: function () {
return "Loading more results…"
}, maximumSelected: function (e) {
var t = "You can only select " + e.maximum + " item";
return e.maximum != 1 && (t += "s"), t
}, noResults: function () {
return "No results found"
}, searching: function () {
return "Searching…"
}, removeAllItems: function () {
return "Remove all items"
}
}
}), {define: e.define, require: e.require}})();
并根据您实际需要的翻译编辑这些字符串。
不要忘记在 select2.js
之后立即包含它
您可能还需要设置 语言:"en" 参数
如果您的理解正确,您想更改等待 Ajax 完成时出现的文本。该文本在完成后消失。默认情况下,文本为 "Searching..." . 下面的代码会将其更改为 "Something else...".
$("#employee_id").select2({
language: {
searching: function() {
return "Something else...";
}
},
ajax: {
url: "get_store_data.php?type=employee_data",
// etc.
}
}
请参阅有关 Translation objects 的 Select2 v4 文档。
我正在使用带有 ajax 选项的 select2,当 ajax 运行时,文本 "searching" 出现,直到 ajax 成功。我想更改此文本(see in attached image
).
我的代码是:(参考自https://select2.org)
$("#employee_id").select2({
ajax: {
url: "get_store_data.php?type=employee_data",
dataType: 'json',
delay: 250,
data: function (params) {
return {
phrase: params.term, // search term,
store_name: jQuery("#store_name").val(),
page: 1
};
},
processResults: function (data, params) {
// console.log(data);
params.page = params.page || 1;
return {
results: data.map(function(item) {
return {
id: item.name,
text: item.name
};
}),
pagination: {
more: 0
}
};
},
placeholder: 'Search for a member id',
cache: true
},
escapeMarkup: function (markup) { return markup; },
minimumInputLength: 1
});
使用这个。对你有帮助。
$("#employee_id").select2({
ajax: {
type: 'get',
url: 'get_store_data.php?type=employee_data',
delay: 300,
dataType: 'json',
data: function (params) {
return {
search: params.term
};
},
processResults: function (data) {
return {
results: $.map(data, function (obj) {
return {
id: obj.id,
text: obj.text,
};
})
};
}
},
minimumInputLength: 2,
placeholder: "Please Select",
escapeMarkup: function (m) {
return m;
}
});
我没有找到任何如此编辑的选项 select2.min 文件。找到 searching:function(){return"Searching"}}})
并在此处更改文本。它对我有用。
更改为:
searching:function(){return"Searching..."}}})
我猜这是一个 translation 问题。尝试包含翻译文件并编辑其中的文本。为 ex en.js 创建一个文件,放置代码:
(function () {
if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) var e = jQuery.fn.select2.amd;
return e.define("select2/i18n/en", [], function () {
return {
errorLoading: function () {
return "The results could not be loaded."
}, inputTooLong: function (e) {
var t = e.input.length - e.maximum, n = "Please delete " + t + " character";
return t != 1 && (n += "s"), n
}, inputTooShort: function (e) {
var t = e.minimum - e.input.length, n = "Please enter " + t + " or more characters";
return n
}, loadingMore: function () {
return "Loading more results…"
}, maximumSelected: function (e) {
var t = "You can only select " + e.maximum + " item";
return e.maximum != 1 && (t += "s"), t
}, noResults: function () {
return "No results found"
}, searching: function () {
return "Searching…"
}, removeAllItems: function () {
return "Remove all items"
}
}
}), {define: e.define, require: e.require}})();
并根据您实际需要的翻译编辑这些字符串。
不要忘记在 select2.js
之后立即包含它您可能还需要设置 语言:"en" 参数
如果您的理解正确,您想更改等待 Ajax 完成时出现的文本。该文本在完成后消失。默认情况下,文本为 "Searching..." . 下面的代码会将其更改为 "Something else...".
$("#employee_id").select2({
language: {
searching: function() {
return "Something else...";
}
},
ajax: {
url: "get_store_data.php?type=employee_data",
// etc.
}
}
请参阅有关 Translation objects 的 Select2 v4 文档。