2015-11-06 82 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掙扎的人只會引發更多問題而不會回答問題。 –