我有一个cshtml文件,其中我有以下代码(从模型中获取数据的下拉列表)
<div class="controls">
<select ng-model="model.CountryCode" ng-change="countryChanged({{country.ISO316613LetterCode}})">
<option ng-repeat="country in model.Countries" value="{{country.ISO316613LetterCode}}">{{country.CommonName}}</option>
</select>
</div>
我有这个功能,我在其中检测到从下拉列表中选择了一个国家
$scope.countryChanged = function(){
var countryDet = _.find($scope.model.CountryDetails, function(cd){
console.log("countryDet");
return cd.CountryCode === $scope.model.Country;
});
if(countryDet){
$scope.model.CountryDetail = countryDet;
// set business properties from country details
$scope.model.DateFormat = countryDet.DefaultDateFormat;
$scope.model.ShortDateFormat = countryDet.DefaultShortDateFormat;
$scope.model.DateFormatJs = countryDet.DefaultJsDateFormat;
$scope.model.LongDateFormat = countryDet.DefaultLongDateFormat;
$scope.model.TaxCode = countryDet.SalesTaxName;
$scope.model.Currency = countryDet.DefaultCurrencySign;
$scope.model.AccSoftwareDateFormat = countryDet.DefaultAccSoftwareDateFormat
$scope.model.WeightSystem = countryDet.DefaultWeightSystem
}
$scope.loadStates();
};
另一个功能,应该在网上显示额外的下拉菜单,显示国家选择的状态是美国还是AUstralia
$scope.stateVisible = function(){
if($scope.model && $scope.model.CountryDetail){
return $scope.model.CountryDetail.StateVisible;
}
return false;
};
我的问题是,我不知道如何将所选的LetterCode(选项值)发送到函数countryChanged,因为,我想如果我这样做,那么我将能够轻松地将状态加载到附加下拉列表中并在现场展示。
答案 0 :(得分:0)
答案 1 :(得分:0)
只需使用objProp
即可将所选模型分配给var nameList = {
n1: {
name: "PRS POP",
section: 211,
rollNo: 211,
},
n2: {
name: "steve XYZ",
section: 32,
rollNo: 359,
}
}
function display_proc() {
var x = 0;
var objProp;
for (var objProp in nameList) {
if (nameList.hasOwnProperty(objProp)) {
for (var obj in nameList[objProp]) {
if (nameList[objProp].hasOwnProperty(obj)) {
document.writeln(nameList[objProp][obj]);
}
}
}
}
}
display_proc();
的{{1}}。例如
ng-options
然后,您的ng-model
函数(以及任何其他控制器函数)可以使用<select>
,这将是一个完整的国家对象。
Plunker demo〜http://plnkr.co/edit/tFjvT92B1itmwkRjZIbJ?p=preview