jquery - 使用 jquery 更改 ajax select2 值
问题描述
我有一个选择字段:
<select class="form-control" name="nacionalidade_id" id="nacionalidade_id">
</select>
这从 ajax 接收数据:
$('#nacionalidade_id').select2({
placeholder: 'Selecione o país de nascimento',
ajax: {
url: 'assets/dados/nacionalidade.php',
dataType: 'json',
delay: 250,
processResults: function(data){
return{
results: data
};
},
cache: true
}
});
nacionalidade.php:
$result = mysqli_query($con, "SELECT * FROM nacionalidades where descricao like '%" . $_GET['q'] . "%' limit 20");
$json = [];
if(mysqli_num_rows($result) > 0 ){
while ($nacionalidade = mysqli_fetch_assoc($result)){
$json[] = ['id'=>$nacionalidade['id'], 'text'=>$nacionalidade['descricao']];
}
echo json_encode($json);
}
我想在id = 45
使用 jquery 时选择该选项。
我尝试:
function buscaCidadao(){
$.ajax({
url: 'assets/funcoesPhp/buscaCidadao.php',
type: 'get',
dataType: 'json',
contentType: 'application/json',
data: {'cns': $('#cns').val()},
success: function (data) {
$("#nacionalidade_id").val(45).change();
},
});
}
但这是行不通的。任何想法?
存在此代码:https ://select2.org/programmatic-control/add-select-clear-items#preselecting-options-in-an-remotely-sourced-ajax-select2但我无法适应我的代码。任何帮助。
解决方案
尝试
$('#nacionalidade_id').val('45');
$('#nacionalidade_id').trigger('change');
请参阅https://select2.org/programmatic-control/add-select-clear-items#selecting-options上的 select2 文档
推荐阅读
- django - 即使在用户登录 Django 后,应用程序仍显示登录页面
- java - 具有依赖项的 Maven 可执行 JAR
- node.js - 在 NestJS 中重定向或渲染 UI
- python-3.x - 通过在 python 3 中导入 libm 来改变舍入模式
- html - 使这些列等高
- ansible - 如何使用 ansible.builtin.template 模块在文件中写入变量值?
- python - 如何使用 re.sub 匹配和替换模式的未定义数字
- format - as.POSIXct 有时无法转换
- javascript - 显示来自 MongoDB 的结果
- hibernate - 使用休眠检查表是否存在