Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改从ajax获取数据的select2 4.0选定项_Javascript_Jquery_Ajax_Playframework_Select2 - Fatal编程技术网

Javascript 如何更改从ajax获取数据的select2 4.0选定项

Javascript 如何更改从ajax获取数据的select2 4.0选定项,javascript,jquery,ajax,playframework,select2,Javascript,Jquery,Ajax,Playframework,Select2,我正在尝试制作一个编辑表单。此表单必须加载来自数据库的数据,并显示来自数据库的数据。在我的表单中,我有一个select2组合框,它通过ajax加载项目。我需要使用来自数据库的id值更改此组合框的选定索引。我用来加载数据的代码是: function populateState(){ var urlCities='@routes.StateCtrl.lstStatesByCountryToSelect()'; $("#idCountry").select2({ placeholder:

我正在尝试制作一个编辑表单。此表单必须加载来自数据库的数据,并显示来自数据库的数据。在我的表单中,我有一个select2组合框,它通过ajax加载项目。我需要使用来自数据库的id值更改此组合框的选定索引。我用来加载数据的代码是:

function populateState(){


var urlCities='@routes.StateCtrl.lstStatesByCountryToSelect()';
$("#idCountry").select2({
    placeholder: "Select country...",
    ajax: {
    url: urlCities,
    dataType: 'json',
    type: 'GET',
        data: function(term,page){
                return{q:term,idCountry:$("#idCountry").val()};
                },
        results: function(data, page) {
            return {
                results: data.results
            };
        }
    }
});
}

我尝试过这个,但没有成功:

$("#idCountry").select2().select2("val", id);
例如,当页面加载时,如果我在组合框中加载三个州(德克萨斯州、纽约州、佛罗里达州),我希望在组合框中显示德克萨斯州作为初始选定项。

$(“#idCountry”).val(“所需的#u值”)。触发器(“更改”)

更多信息可在此处的“已弃用和已删除的方法”下找到:

在4.0版本中,Select2 ajax的方法完全改变了。您需要使用数据适配器使其工作。希望这能有所帮助:我解决了降级到3.5.2版的问题。