我想在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