Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
Javascript 如果在链接上,则为_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript 如果在链接上,则为

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>

我正在使用Angular JS向导:

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