2013-04-12 43 views
0

我想了解如何正確參數傳遞給匿名函數。似乎我的'這'並不指向我希望它會去的地方。我究竟做錯了什麼?JavaScript的匿名功能和輸入PARAMS

的jsfiddle: http://jsfiddle.net/Chiliyago/NvGs8/3/

function initUTCDate() { 
    var $date = new Date(); 
    var $dateUTC = new Date($date.getUTCFullYear(), $date.getUTCMonth(), $date.getUTCDate(), $date.getUTCHours(), $date.getUTCMinutes(), $date.getUTCSeconds()); 
    return $dateUTC; 
} 

$(function() { 

    var setUTCDateTime = function (timeType) { 

     var $input = $(this); 

     var $d = initUTCDate(); 

     if (timeType == "GMT") { 
      $input.val($d.toGMTString()); 
     } else { 
      $input.val("false"); 
     } 
    }; 

    $('input[data-ucw-currDateTime]').each(setUTCDateTime("GMT")); 


}); 
+0

_ $ DATE_ - 什麼樣的符號是什麼? –

+1

@zerkms是的,但在這種情況下'$ date'是* not *一個jQuery對象 – Ian

+0

它似乎正在生成一個日期。不知道我看到那部分有問題。 – ChiliYago

回答

1

嘗試使用:

$(function() { 
    var setUTCDateTime = function (timeType) { 
     return function() { 
      var $input = $(this); 

      var $d = initUTCDate(); 

      if (timeType == "GMT") { 
       $input.val($d.toGMTString()); 
      } else { 
       $input.val("false"); 
      } 
     }; 
    }; 

    $('input[data-ucw-currDateTime]').each(setUTCDateTime("GMT")); 
}); 

DEMO:http://jsfiddle.net/NvGs8/4/