2015-11-06 49 views
0

是否有可能循环javascript函数ID?我有一个表单,表单是使用for循环创建的;所以我使用这个自动保存javascript来保存草稿;现在JavaScript只运行$(“#remark1”)。所以我需要使用for循环来循环$(“#remark1”)。有可能循环javascript函数id吗?

<script type="text/javascript"> 
     $(function() { 
      if (localStorage) { 
       var content = localStorage.getItem("autoSave"); 
       if(content) { 
        $("#remark1").text(content); 
       } 
      } 

      $("#remark1").autoSave(function() { 
       var time = showTime(); 
       $("#msg").text("Draft Autosaved " + time).show(); 
      }, 2000); 

      $("#refresh").click(function() { 
       location.reload(); 
      }); 

      $("#clear").click(function() { 
       localStorage.clear(); 
       location.reload(); 
      }); 

      function showTime() { 
       var timeNow = new Date(); 
       var hours = timeNow.getHours(); 
       var minutes = timeNow.getMinutes(); 
       var seconds = timeNow.getSeconds(); 
       var timeString = "" + ((hours > 12) ? hours - 12 : hours); 
       timeString += ((minutes < 10) ? ":0" : ":") + minutes; 
       timeString += ((seconds < 10) ? ":0" : ":") + seconds; 
       timeString += (hours >= 12) ? " P.M." : " A.M."; 
       return timeString; 
      } 
     }); 

我想环路( “备注1”),任何一种解决方案呢?

+1

循环id做什么? –

+2

你的问题很不清楚。 – j08691

+0

你的问题仍然很不清楚。你是说你有一个'#remark2'和'#remark3'你想用相同的参数来调用'autoSave'吗? –

回答

0

你的意思是这样的吗?

function dynamicSave(id) { 
    $("#" + id).autoSave(function() { 
     var time = showTime(); 
     $("#msg").text("Draft Autosaved " + time).show(); 
    }, 2000); 
} 

var ids = [ 'remark1', 'remark2' ]; 

ids.each(function(id) { 
    dynamicSave(id); 
}); 
+0

您在调用'each'时不需要包装功能。 'ids.each(dynamicSave)'就足够了。 –

+1

我意识到这一点,但我们不知道他将如何或将要循环,这将是一个更为熟悉的语法 - 使用这样的速记,那些与基本JavaScript挣扎的人只会引发更多问题而不会回答问题。 –