gpt4 book ai didi

javascript - 获取国家的 ID 返回 Expression 'mid = s.id' is non-assignable

转载 作者:行者123 更新时间:2023-11-30 20:29:15 25 4
gpt4 key购买 nike

我有这个函数返回一个名为 mid 的范围来保存要分配给填充状态选择框的国家的 ID。这是初始化的函数和作用域

$scope.logId = function() {
$scope.mid = 1;
console.log($scope.mid);
return ($scope.mid);
};

我有一个国家/地区循环,在循环期间返回 id。尝试将选择选项中的国家/地区 ID 分配给 $scope mid 以更改函数 $scope.logId $scope.mid strong> 这样当我调用 get states 函数时它将接收函数的当前 id $scope.logId 我得到这个错误

Expression 'mid = s.id' is non-assignable. Element: <option ng-repeat="s in countries" ng-model="mid = s.id" value="{{s.name}}" class="ng-pristine ng-untouched ng-valid ng-binding ng-scope">

这是我正在做循环和赋值的国家的循环

<option ng-repeat="s in countries" ng-model="mid = s.id" value="{{s.name}}">{{s.name}}</option>

已编辑以显示完整代码

<select ng-click="getCountries()" formcontrol name="country" class="ng-untouched ng-pristine ng-valid" required>



<option ng-repeat="s in countries" ng-click="mid = s.id" value="{{s.name}}">{{s.name}}</option>

</select>


</div>

<div ng-class = "{'has-error':frmValidation.state.$invalid && !frmValidation.state.$pristine}" class="field required">
<label>State</label>
<select ng-click="getStates(mid)" ng-model="reg.state" formcontrol name="state" class="ng-untouched ng-pristine ng-invalid" required >

<option ng-repeat="s in states" value="{{s.name}}">{{s.name}}</option>
</select>
</div>

请协助获取分配给 scope mid 并从 logId 函数接收的 select option id 的值,以便无论何时在 logId 上调用 ng-click 它返回所选国家/地区的当前 ID

最佳答案

请检查此代码:

我还在我的DEMO中实现了一个针对国家/地区的模拟 API 调用,请检查

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">

<select ng-change="logId()" name="country" ng-model="mid" required>
<option ng-repeat="c in countries" value="{{c.name}}">{{c.name}}</option>
</select>


</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {


$scope.getCountries = function(){
$http.get("https://restcountries.eu/rest/v2/all")
.then(function(response) {
console.log(response)
$scope.countries = response.data;
});
}

$scope.getCountries();



$scope.logId = function() {

alert($scope.mid);

};
});

</script>

<p>Please select a country and logId() will be called.</p>

</body>
</html>

请运行上面的片段

Here is a working DEMO

关于javascript - 获取国家的 ID 返回 Expression 'mid = s.id' is non-assignable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50540776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com