而循环增量值在函数内部不起作用
while loop increment value not working inside a function
我有以下代码:
<?php
$i = 5;
while($i > 0){
echo "
<input type = 'submit' value = '$i' id = '$i'>
";
$i--;
}
?>
<script type = 'text/javascript' src = 'js/jquery.js'></script>
<script type = 'text/javascript'>
$(document).ready(function(){
var i = 5;
while(i > 0){
$('#'+i).live('click',function(){
alert(i);
});
i--;
}
});
</script>
当我点击一个按钮时,javascript应该提醒我点击的按钮的id。但我点击哪个按钮都会提醒0。我认为while循环的增量值在函数内部不起作用。我该怎么办?
这是因为一些变量i
的闭包作用域。
$(document).ready(function(){
var i = 5;
while(i > 0){
(function(idx){
$('#'+idx).live('click',function(){
alert(idx);
});
})(i)
i--;
}
});
相关文章:
- 调用函数内部的函数
- javascript函数内部的代码用逗号而不是分号分隔
- javascript无法重新定义函数内部的全局对象
- 如何从函数内部的这个变量中获取值
- appendChild在函数外部工作,但在函数内部不工作
- 在jquery函数内部设置来自jquery函数的var;t运行
- 一个'var'在函数内部声明
- 为什么(如何)'这'从函数内部调用回调时发生更改
- 函数内部未定义的输入值
- 在Meteor中如何将数据从函数内部复制到其他模板
- 如果在构造函数内部为else,则Javascript是可选的
- 我对“;返回true"嵌套函数内部;t工作
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- javascript,将参数传递给函数内部的闭包中的回调
- 匿名自执行js函数内部的全局变量在外部仍然可用
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- 访问函数内部的Polymer方法
- 更改函数内部的全局变量而不调用它
- 如何在函数内部为jquery工具提示调用不同的var字符串
- 构造函数内部的事件处理