Javascript 如果在链接上,则为
我正在使用Angular JS向导:Javascript 如果在链接上,则为,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我正在使用Angular JS向导: var myApp = angular.module('myApp', []); myApp.controller('WizardController', ['$scope', function($scope){ $scope.user = {}; }]); 我这里有一个下拉列表: <select ng-model="user.agree"> <option>Yes</option>
var myApp = angular.module('myApp', []);
myApp.controller('WizardController', ['$scope', function($scope){
$scope.user = {};
}]);
我这里有一个下拉列表:
<select ng-model="user.agree">
<option>Yes</option>
<option>No</option>
</select>
你需要给你的选项加一个值,
angularjs
不会接受选项的文本,而是值
<select ng-model="user.agree">
<option value="yes">Yes</option>
<option value="no">No</option>
</select>
对
不
ng如果
工作正常。您的问题是ng show
,它正在隐藏元素,因为它找不到showNextButton()
。这是因为元素被转移到步骤
指令中,不再具有与向导
相同的作用域,其中定义了showNextButton()
。请注意,即使删除了ng show
和ng if
,ng click
也不会做任何事情,因为gotoNextStep
也不在范围之内
向导
指令在模板中已经有一个显示下一步的下一步按钮。要实现您想要的功能,如果用户没有选择Yes
,您可以修改showNextButton
函数以返回false
$scope.showNextButton = function () {
return $scope.user.agree == 'Yes' && $scope.currentStepIndex < $scope.steps.length;
}
并将其作为元素属性传入:
<wizard user="user" ...>
这是一个有用的工具:你的链接标记看起来像什么?你能通过plunkr或JSFIDLE共享吗?我检查元素时的链接标记看起来像这样
古怪请发布你的向导
指令和使用它的HTML。(我似乎无法让angularjs在fiddler中工作,但我的代码是ThereJSFIDLE.net/68tW3(我似乎无法让angularjs在fiddler中工作,但我的代码在那里–错误的角度链接和没有模板wizard.html
。它不工作是正常的。
$scope.showNextButton = function () {
return $scope.user.agree == 'Yes' && $scope.currentStepIndex < $scope.steps.length;
}
scope: {
user: '=',
...
},
<wizard user="user" ...>