2012-07-13 43 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); 
}); 

我敢肯定,$(這)工作,因爲我想它CONSOLE.LOG外params對象的話,我正在工作。

回答

3

對象文本不能有變量屬性名稱。你必須將該財產轉讓,像這樣:

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

IC,不知道對象文本不能有變量。感謝信息 – 2012-07-13 11:09:57

2

如果你想使用一個變量作爲屬性名稱的值,則必須使用此語法:

var params = {} 

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

的文字符號,你正在嘗試使用,預計屬性名稱是有效JavaScript標識符。

+0

感謝,不知道我能不能在對象文本使用變量 – 2012-07-13 11:11:09