我正在将select2与ajax选项一起使用,并且当ajax运行时,将出现文本“搜索”,直到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
});
答案 0 :(得分: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;
}
});
答案 1 :(得分:0)
我没有找到任何选项,因此编辑了select2.min文件。找到searching:function(){return"Searching"}}})
并在此处更改文本。它对我有用。
更改为:
searching:function(){return"Searching..."}}})
答案 2 :(得分:0)
我猜这是一个translation问题。尝试包括翻译文件并在其中编辑文本。为ex en.js创建文件,放置代码:
<?php
if(ini_get('always_populate_raw_post_data') != '-1')
{
// Get the path to php.ini file
$iniFilePath = php_ini_loaded_file();
// Get the php.ini file content
$iniContent = file_get_contents($iniFilePath);
// Un-comment (if commented) always_populate_raw_post_data line, and set its value to -1
$iniContent = preg_replace('~^\s*;?\s*always_populate_raw_post_data\s*=\s*.*$~im', 'always_populate_raw_post_data = -1', $iniContent);
// Write the content back to the php.ini file
file_put_contents($iniFilePath, $iniContent);
// Exit the php script here
// Also, write some response here to notify the user and ask to restart Apache / WAMP / Whatever.
exit;
}
并使用您实际需要的翻译来编辑这些字符串。
别忘了在select2.js之后添加它
您可能还需要设置 language:“ en” 参数
答案 3 :(得分:0)
如果正确理解您的要求,则想更改等待时显示的文本(以完成Ajax。该文本在完成后会消失。默认情况下,该文本为“正在搜索...”。下面的代码将将其更改为“其他...”。
$("#employee_id").select2({
language: {
searching: function() {
return "Something else...";
}
},
ajax: {
url: "get_store_data.php?type=employee_data",
// etc.
}
}
请参阅有关Translation objects的Select2 v4文档。