不好意思不是我不想上全,只是我们这个项目用的是 MVC2这个框架,所以脚本和页面并不在同一个页面。我只能大致的贴一些代码了。
b.ascx
<table class=""expand-table"">
<tr>
<td class=""table-child1"">
<input name=""## DataItem.get_columnValue() ##""
value=""## getFileSize(DataItem,""Name"") ##"" onclick=""StorageGroupCheckBox_onClick('## DataItem.get_columnValue() ##');"" id=""## DataItem.get_columnValue() ##"" type=""checkbox"" />
</td></tr></table>
a.aspx页
<div class="dataGrid">
<% Html.RenderAction("a", "DataGrid"); %>
</div>
//这里是把b.ascx加到这个页来
var checkedBoxes = [];
function ExpandOrCollapseGroup(event, sender, groupId) {
saveCheckedBoxes();
// save all checked boxes
CloudStorageGrid.ToggleGroupExpand(event, sender, groupId);
restoreCheckedBoxes();
}
function saveCheckedBoxes() {
checkedList = $("div.dataGrid").find("input:checked");//<div class="dataGrid"></div>
for (var i = 0; i < checkedList.length; i++) {
checkedBoxes[i] = checkedList[i].id;
}
}
function restoreCheckedBoxes() {
for (var i = 0; i < checkedBoxes.length; i++) {
var checkBox = document.getElementById(checkedBoxes[i]);
if (checkBox != null)
checkBox.setAttribute("checked", "checked");
}
checkedBoxes = [];
}
可能这样贴还是不清楚,但是我也只能这样贴了。
我的思路是这样的:checkedBoxes[i]已经得到所有ID了,我想把checkedBoxes[i]里面的值全部转换成小写或者大写,这样就会产生几个相同的ID了,再用一个判断假如不存在相同的ID就直接把checkedBoxes[i]传到下一个方法用,要是存在的话,就在checkedBoxes[i]后面加一个常数再传到下一个方法。我用很多方式但是无法实现,所以我也不确定这个方法能行的通不?
[
本帖最后由 bocai_aixg 于 2011-4-27 14:46 编辑 ]