我正在开发一个angularjs项目,我在select中没有绑定ngModel
有问题。但是同一个概念在另一个select标签和同一个html页面中工作。
以下是代码。
<select ng-model="selectedFont"
ng-options="font.title for font in fonts"
ng-change="onFontChange()">
</select>
onFontChange()
函数放在控制器中。
任何帮助都非常值得赞赏......提前致谢。
答案 0 :(得分:21)
基于Tony the Pony的小提琴:
<div ng-app ng-controller="MyCtrl">
<select ng-model="opt"
ng-options="font.title for font in fonts"
ng-change="change(opt)">
</select>
<p>{{opt}}</p>
</div>
使用控制器:
function MyCtrl($scope) {
$scope.fonts = [
{title: "Arial" , text: 'Url for Arial' },
{title: "Helvetica" , text: 'Url for Helvetica' }
];
$scope.change= function(option){
alert(option.title);
}
}
答案 1 :(得分:3)
首先在Controller中创建数据(可以是本地数据或来自服务器)。并初始化默认值,强制以HTML格式选择默认项目。
// supported languages
$scope.languages = ['ENGLISH', 'SPANISH', 'RUSSIAN', 'HINDI', 'NEPALI'];
// init default language
$scope.language = 'ENGLISH';
现在使用HTML表单
<select class="form-control" ng-model="language">
<option ng-repeat="language in languages">{{language}}</option>
</select>
<小时/> 屏幕截图在这里(注意引导CSS使用,此处不包括)。
您可以在控制器中进行测试,无论更改是否正常
$scope.$watch('language', function (newVal, oldVal) {
console.log(oldVal + " -> " + newVal);
});
ENGLISH - &gt;俄罗斯
俄罗斯 - &gt; SPANISH
西班牙语 - &gt;俄罗斯
希望这有帮助。谢谢!