我想在ASP.NET主頁上創建一個可以從內容頁面調用的JavaScript函數。我基本上將函數傳遞給一個GridView客戶端ID和一些列,我將使用此函數在gridview上調用jQuery tablesorter
,循環訪問函數調用中指定的列數。For循環內部的jQuery調用?
我會打電話的功能,像這樣:
sortTable(<%=gridView1.ClientID%>, 8)
我寫的功能,像這樣:
<script type="text/javascript">
function sortTable(gridView, numberOfColumns) {
$("#" + gridView).tablesorter({
headers: {
for(var i = 0; i<numberOfColumns; i++){
i: { sorter: 'fancyNumber' }
}
},
/*Use jQuery to assign zebra stripe CSS, works in IE6+
rather than using pure CSS which doesn't work in IE8 and below.*/
widgets: ['zebra'],
widgetZebra: { css: ['normal-row', 'alt-row'] }
});
}
</script>
但是,Visual Studio的不喜歡for loop
。我允許在headers
屬性內創建一個循環嗎?有沒有更好的選擇這個所需的功能?
編輯:我明白了。你不能在對象聲明中循環。我認爲這樣做是創建通過numberOfColumns
一個字符串,循環的最佳方式,每次追加到字符串:
var headerString = "headers: "
for(var i = 0; i < numberOfColumns; i++){
headerString = headerString & i & " { sorter: 'fancyNumber' } ,"
}
然後使用分別代替對象聲明中的headerString變種?
這可能嗎?
這與jQuery庫沒有任何關係。這是一個基本的JavaScript語法問題,正如您已經看到的那樣,它是無效的。 –
你不能在對象字面聲明中做for循環。 –
不要使用服務器端語言構建JavaScript。將元素添加到元素並從單獨的JS文件中選擇它會更好。 – zzzzBov