2012-07-13 2 views
0

왜 객체에 변수를 가질 수 없습니까? 다음과 같은 오류가 발생합니다.jQuery param 동적 객체 이름

"Uncaught SyntaxError: Unexpected token this" 

내 코드는 다음과 같습니다.

$("#search_options input:checkbox").on('click', function() { 
    var params = { 
    $(this).attr('name') : $(this).val(), 
    }; 
    var str = jQuery.param(params); 
}); 

나는 내가 PARAMS 그때 내가 노력하고 객체 외부로 CONSOLE.LOG하려고하기 때문에 $ (이) 작동하는지 확인 해요. 당신은 속성 이름과 같은 변수의 값을 사용하려면

답변

3

개체 리터럴은 변수 속성 이름을 가질 수 없습니다. 당신과 같이 속성을 지정해야합니다 :

... 
var params = {}; 
params[$(this).attr('name')] = $(this).val(); 
var str = jQuery.param(params); 
+0

IC를 변수를 사용할 수 없다는 것을 몰랐습니다. 정보 주셔서 감사합니다. –

2

,이 구문을 사용합니다, 당신이 사용하려는 것으로,

var params = {} 

params[$(this).attr('name')] = $(this).val(); 

문자 적 ​​표기법은 속성 이름이 유효 할 것으로 예상 자바 스크립트 식별자.

+0

덕분에, 내가 변수를 가질 수없는 객체 리터럴을 몰랐다, 객체 리터럴에 –