AngularJS使用从服务器接收的数据预先选择一个选项

AngularJS使用从服务器接收的数据预先选择一个选项,angularjs,Angularjs,我用AngularJS创建了CRUD,在更新部分,当涉及到选择时,我无法获得预选值。文本字段显示正确的数据,我能够无误地更新所有字段。请理解我是初学者。粘贴在下面的代码是非常重要的部分。先谢谢你 HTML readOneChn将输出语言id和语言名称 { "chn_id":"2", "chn_name":"BBC World News", "chn_price":"1.00", "lang_id":"1", "lang_name":"English" } 从服务器检索选择选项 JS 多亏了你,

我用AngularJS创建了CRUD,在更新部分,当涉及到选择时,我无法获得预选值。文本字段显示正确的数据,我能够无误地更新所有字段。请理解我是初学者。粘贴在下面的代码是非常重要的部分。先谢谢你

HTML

readOneChn将输出语言id和语言名称

{
"chn_id":"2",
"chn_name":"BBC World News",
"chn_price":"1.00",
"lang_id":"1",
"lang_name":"English"
}
从服务器检索选择选项 JS

多亏了你,我才解决了这个问题。 正如你对lang所说的,我改变了ng模型,但是不需要过滤器。需要有一个轨道。我记得在另一个解决方案中要求使用track by,但它从未对我起作用。由于,我学习了$scope.lang={lang\u id:response.data.lang\u id},现在如果我按lang.lang\u id添加了track,它就可以工作了

HTML


你的showUpdatechForm函数在什么地方执行了吗?我在这里发布时删去了代码,代码不完整。同样的功能也会打开一个对话框。Dailog包含表单和更新按钮。更新按钮功能更新服务器中的值。值正在正确更新。$scope.langs是否包含具有lang\u id属性的对象?如果是这样,我认为您应该像这样更改您的ng options指令:ng options=lang.lang\u id为lang.lang\u langs中lang的名称
$scope.showUpdateChnForm = function(chn_id){

// get chn to be edited
chnsFactory.readOneChn(chn_id).then(function successCallback(response){

    // put the values in form
    $scope.chn_id = response.data.chn_id;
    $scope.chn_name = response.data.chn_name;
    $scope.chn_price = response.data.chn_price;
    $scope.lang_id = response.data.lang_id;
    }
}
{
"chn_id":"2",
"chn_name":"BBC World News",
"chn_price":"1.00",
"lang_id":"1",
"lang_name":"English"
}
$scope.readLangs = function(){
// use chns factory
chnsFactory.readLangs().then(function successCallback(response){
    $scope.langs = response.data.records;
}, function errorCallback(response){
    $scope.showToast("Unable to read record.");
});
}
<div ng-init="readLangs()" class="md-block">
    <select ng-model="lang"
            ng-options="lang.lang_name for lang in langs track by lang.lang_id">    
    </select>
</div>
$scope.showUpdateChnForm = function(chn_id){
    // get chn to be edited
    chnsFactory.readOneChn(chn_id).then(function successCallback(response){
        // put the values in form

        $scope.chn_id = response.data.chn_id;
        $scope.chn_name = response.data.chn_name;
        $scope.chn_price = response.data.chn_price;
        $scope.lang = {lang_id: response.data.lang_id};
    }
}