我有一个onClick angularjs函数有一个for循环,在第一次点击不工作
I have an onClick angularjs function has a for loop that does not work in first click
我有一个onClick angularjs函数做一些绑定和有一个for循环。我的问题是,for循环不工作在第一次点击。但在第二,它是好的。我该怎么修理它?在我的应用程序中,我有一个学生数组,firstname= fname, lastname=lname,和tuition。我想当我点击学生的名字,程序显示学生的全名,和他或她的学费列表。
HTML: <li ng-repeat="x in stdNames" class="text-center">
<a ng-cloak ng-click="showStuInfo($index)" href="#stu-info">{{ x.fname + ' ' + x.lname}}</a>
</li>
//result box (in another page - loading by router )
<section class="stuInfoBox clear">
<div class="nameRow clear">
<p class="text-right pull-right">Name</p><p class="text-right pull-right stu-fullname" ng-bind="studentName"></p>
</div>
<div class="tuitionsRow clear">
<ul class="stuTuitionList">
</ul>
</div>
</section>
JavaScript (AngularJS Controller):
//Students array
$scope.stdNames = [
{ stuId: "s01", fname: 'Mina', lname: 'Ghorbani', tuitions:['Javascript Programming','AngularJs','JQuery','C# Programming']};
//onclick function
$scope.showStuInfo = function (index) {
$(".stuTuitionList li").remove();
$scope.studentName = $scope.stdNames[index].fname + " " + $scope.stdNames[index].lname;
var tuitionsLength = $scope.stdNames[index].tuitions.length;
for (var i = 0; i < tuitionsLength; i++) {
$(".stuTuitionList").append("<li>"+$scope.stdNames[index].tuitions[i]+"</li>");
}
}
我用你的例子创建了一个示例应用程序。它在这里工作得很好,第一次点击被初始化。
var app = angular.module('sample', []);
app.controller('samplecontroller', function($scope) {
//Students array
$scope.stdNames = [{
stuId: "s01",
fname: 'Mina',
lname: 'Ghorbani',
tuitions: ['Javascript Programming', 'AngularJs', 'JQuery', 'C# Programming']
}];
//onclick function
$scope.showStuInfo = function(index) {
$(".stuTuitionList li").remove();
$scope.studentName = $scope.stdNames[index].fname + " " + $scope.stdNames[index].lname;
var tuitionsLength = $scope.stdNames[index].tuitions.length;
for (var i = 0; i < tuitionsLength; i++) {
$(".stuTuitionList").append("<li>" + $scope.stdNames[index].tuitions[i] + "</li>");
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="sample">
<div ng-controller="samplecontroller">
<li ng-repeat="x in stdNames" class="text-center">
<a ng-cloak ng-click="showStuInfo($index)" href="#stu-info">{{ x.fname + ' ' + x.lname}}</a>
</li>
//result box (in another page - loading by router )
<section class="stuInfoBox clear">
<div class="nameRow clear">
<p class="text-right pull-right">Name</p>
<p class="text-right pull-right stu-fullname" ng-bind="studentName"></p>
</div>
<div class="tuitionsRow clear">
<ul class="stuTuitionList">
</ul>
</div>
</section>
</div>
</body>
相关文章:
- 我怎么能有一个实时计时器,在3秒的循环内每秒钟更新一次
- Javascript开始处理下一个事件,然后第一次完成
- 我怎样才能改变 FixedTableHeader jQuery 插件也有一个固定的第一列
- 如何在第一次网站访问时制作一个javascript弹出框
- jQuery,在我有一个图像的宽度后只继续脚本一次
- 一次只能有一个活动类和可见 Div
- 如何停止在第一次按下回车键时触发第一个 onclick 事件的元素
- 奇怪的是,在第二次单击切换隐藏/显示按钮而不是第一次单击后,有两行有效
- 我有一个模式打开第二个模式,如果打开然后关闭第二个模式,则无法关闭第一个模式
- 我有一个带有选择的表单,可以创建元素.我怎么能做到这一点元素只创建一次
- 我想改变“;text1”;至“;text2”;第一次点击并改变“;text2”;至“;text1”;第二次只点击一个按钮
- 检查地图中是否有第一次迭代的方法
- Brad Green的第一个例子's的书“;AngularJS”;有一个错误
- Phonegap-在第一次加载时创建一个.txt文件
- 使用$(“[property=value]”).click(),我希望两次单击之间有一个延迟
- javascript向下拖动一个元素.第一次拖动后跳转
- 当网站第一次加载时加载一个ui-router状态
- 我有一个onClick angularjs函数有一个for循环,在第一次点击不工作
- 当单元格第一次有焦点时,在Slick Grid中显示一个模态
- 是否有一个React生命周期方法,只在组件第一次接收到props时才做一些事情?