Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 在编辑配置文件的情况下,下拉列表未设置其ng模型值_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 在编辑配置文件的情况下,下拉列表未设置其ng模型值

Javascript 在编辑配置文件的情况下,下拉列表未设置其ng模型值,javascript,html,angularjs,Javascript,Html,Angularjs,在编辑配置文件的情况下,我的下拉列表未设置其ng model值 这里是我的Controller.js方法,它调用service.js方法并以Json格式从数据库中获取数据 我正确地获取了countryList,html按预期呈现(如我所预期的) 我想我已经用代码提供了所有必要的信息。但是如果你想要任何信息,请告诉我 更新 正如您所建议的,我为ng model创建了一个对象,然后像这样更改了HTML <select class="form-control" name="country" re

在编辑配置文件的情况下,我的下拉列表未设置其
ng model

这里是我的Controller.js方法,它调用service.js方法并以Json格式从数据库中获取数据

我正确地获取了countryList,html按预期呈现(如我所预期的)

我想我已经用代码提供了所有必要的信息。但是如果你想要任何信息,请告诉我

更新

正如您所建议的,我为
ng model
创建了一个对象,然后像这样更改了
HTML

<select class="form-control" name="country" required="" ng-model="countryModel" ng-options="countryModel.Value as countryModel.Text for countryModel in countryList" ng-change="GetSelectedState(countryModel.Value)">

现在,我的controller.js
EditUser()
方法如下所示


(请参见图。)

ng model
应该是一个具有两个属性的对象
Value
Text
。而
ng选项
是一个对象数组。因此,在您的情况下,您的
countryList
如下所示:

$scope.countryList = [{Value: 1, Text: "India"}, {Value: 2, Text: "USA"}]
$scope.countryid = {Value: 1, Text: "India"}
<select class="form-control" name="country" required="" ng-model="countryModel" ng-options="countryOpt as countryOpt.Text for countryOpt in countryList" ng-change="GetSelectedState(countryModel.Value)">
所以
countryid
必须是这样一个对象:

$scope.countryList = [{Value: 1, Text: "India"}, {Value: 2, Text: "USA"}]
$scope.countryid = {Value: 1, Text: "India"}
<select class="form-control" name="country" required="" ng-model="countryModel" ng-options="countryOpt as countryOpt.Text for countryOpt in countryList" ng-change="GetSelectedState(countryModel.Value)">
更新 如果您只有country值,则可以使用此值构建“countryId”对象:

let selectedId = 1;
$scope.countryId = $scope.countryList.filter(function (country) { 
                    return country.Value == selectedId; 
                })[0];
您的
HTML
for
select
元素将变成这样:

$scope.countryList = [{Value: 1, Text: "India"}, {Value: 2, Text: "USA"}]
$scope.countryid = {Value: 1, Text: "India"}
<select class="form-control" name="country" required="" ng-model="countryModel" ng-options="countryOpt as countryOpt.Text for countryOpt in countryList" ng-change="GetSelectedState(countryModel.Value)">


Thanx为了明确我的概念,现在我更改了ng model='countryModel',它是{CountryID&CountryName}和ng change='''GetState(countryModel.Value)的组合。但我必须从我的[_user.data]Json手动创建我的countryModel对象,正如您提到的那样。我已经更新了答案。如果问题仍然没有解决,请创建一个JSFIDLE或Plunker,shoaib happy.?:)