2013-04-12 2 views
0

익명 함수에 매개 변수를 제대로 전달하는 방법을 이해하려고합니다. 내 '이'가 내가 원하는 곳을 가리키고 있지 않은 것 같습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?JavaScript 익명 함수 및 입력 매개 변수

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'가 맞지만 * 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/