小编Car*_*uro的帖子

循环中的javascript var声明

/*Test scope problem*/
for(var i=1; i<3; i++){
    //declare variables
    var no = i;
    //verify no
    alert('setting '+no);

    //timeout to recheck 
    setTimeout(function(){
        alert('test '+no);
    }, 500);
}
Run Code Online (Sandbox Code Playgroud)

它按预期警告"设置1"和"设置2",但在超时后它输出"测试2"两次 - 由于某种原因,变量"否"在第一次循环后没有重置......

我发现只有一个"丑陋"的解决方法:

/*Test scope problem*/
var func=function(no){
    //verify no
    alert('setting '+no);

    //timeout to recheck 
    setTimeout(function(){
        alert('test '+no);
    }, 500);
}
for(var i=1; i<3; i++){
    func(i);
}
Run Code Online (Sandbox Code Playgroud)

有关如何以更直接的方式解决此问题的任何想法?或者这是唯一的方法吗?

javascript variables scope

8
推荐指数
1
解决办法
6684
查看次数

取消在rails remote_for上提交

我有一个form_for(:remote=>true)工作,但我想在提交之前显示一个常规的JavaScript确认框.

反正有没有实现这个目标?理想情况下某种类型:before或:onsubmit可以接受取消提交类似于:return confirm("Are you sure?");或者javascript事件钩子?

谢谢

forms jquery ruby-on-rails-3

1
推荐指数
1
解决办法
2236
查看次数

标签 统计

forms ×1

javascript ×1

jquery ×1

ruby-on-rails-3 ×1

scope ×1

variables ×1