Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
select中的AngularJS ngModel指令_Select_Angularjs - Fatal编程技术网

select中的AngularJS ngModel指令

select中的AngularJS ngModel指令,select,angularjs,Select,Angularjs,我正在处理一个angularjs项目,我有一个问题,ngModel在select中没有绑定。但是相同的概念在另一个select标记和同一个html页面中工作。 下面是代码 <select ng-model="selectedFont" ng-options="font.title for font in fonts" ng-change="onFontChange()"> </select> onFontChang

我正在处理一个angularjs项目,我有一个问题,
ngModel
在select中没有绑定。但是相同的概念在另一个select标记和同一个html页面中工作。 下面是代码

  <select ng-model="selectedFont" 
          ng-options="font.title for font in fonts" 
          ng-change="onFontChange()">
  </select>

onFontChange()
函数放置在控制器中


任何人的帮助都是非常值得感激的…提前谢谢。

根据小马托尼的小提琴:

<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>

首先在控制器中创建数据(可以是本地数据,也可以来自服务器)。并初始化默认值,强制在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>
英语->俄语

俄语->西班牙语

西班牙语->俄语


希望这是有帮助的。谢谢

请分享完整的代码或分享JSFIDLE演示我不知道如何使用JSFIDLE您可以发布
onFontChange()
?这里是AngularJS的一个示例FIDLE:很可能您试图从不同的范围获取字体。请尝试在select:
{{selectedFont}}{{font}}
下打印它,或为Chrome浏览器安装Batarang扩展。您也可以使用
$scope.$watch()
,如下所述:
<select class="form-control" ng-model="language">
    <option ng-repeat="language in languages">{{language}}</option>
</select>
$scope.$watch('language', function (newVal, oldVal) {
    console.log(oldVal + " -> " + newVal);
});