请孟子和其他大虾进来帮下忙,关于checkbox的问题~~~
请先看下http://dotnet.aspx.cc/ShowDetail.aspx?id=F43AF9A5-2C2E-4AA6-E976-21E9569F5A8A
这个是孟大大的关于checkbox的文章,我的问题和他的需求差不多,但是需要一选择就出结果,而不是再点击按钮,我的代码完成了一部分,主要是在分页后无法保存上一页的值,而且不太清楚如何在返回上页时将以前选中的checked了,请耐心看下我的代码:JS的
function checkbox_onchange() {
var CatchHERa = GridView1.all.tags( "INPUT ");
var eleValue = document.all[ "eleValue "];
var eleName = document.all[ "eleName "];
//alert(document.all[ "eleValue "].value);
eleValue.value = eleName.value = " ";
for (var i=0; i <CatchHERa.length; i++) {
if (CatchHERa[i].checked) {
var tdl = CatchHERa[i].parentNode;
while (tdl.tagName != "TR ")
tdl = tdl.parentNode;
alert(eleValue.value);
eleValue.value = ((eleValue.value == " ") ? tdl.cells[2].innerText : eleValue.value + ", " + tdl.cells[2].innerText);
eleName.value = ((eleName.value == " ") ? tdl.cells[2].innerText : eleName.value + ", " + tdl.cells[2].innerText);
}
}
ASPX页的,我用的是VS2005 的GRIDVIEW
<form id= "form1 " runat= "server ">
<asp:GridView ID= "GridView1 " runat= "server " AutoGenerateColumns= "False " DataSourceID= "ObjectDataSource1 " AllowPaging= "True " OnRowDataBound= "GridView1_RowDataBound ">
<Columns>
<asp:BoundField DataField= "STATIONID " HeaderText= "STATIONID " SortExpression= "STATIONID " />
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID= "chkSelect " runat= "server " onclick= "checkbox_onchange() "/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField= "STATIONNAME " HeaderText= "STATIONNAME " SortExpression= "STATIONNAME " />
<asp:BoundField DataField= "SECONDNAME " HeaderText= "SECONDNAME " SortExpression= "SECONDNAME " />
<asp:BoundField DataField= "THIRDNAME " HeaderText= "THIRDNAME " SortExpression= "THIRDNAME " />
<asp:BoundField DataField= "ALLROAD " HeaderText= "ALLROAD " SortExpression= "ALLROAD " />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID= "ObjectDataSource1 " runat= "server " SelectMethod= "GetAllList "
TypeName= "BusManage.BLL.BusStation "> </asp:ObjectDataSource>
<input id= "eleName " readonly
type= "text " size= "53 " runat= "server "> <input id= "eleValue " type= "hidden " runat= "server ">
</form>
请帮忙解决下~~~~~~~
[解决办法]
<script language= "javascript " type= "text/javascript "> SetCheckBoxStatus(); function SetCheckBoxStatus() { var tb = document.getElementById( "GridView1 "); var eleValue = document.getElementById( "eleValue ").value; for(var i=1;i <tb.rows.length-1;i++) { var chk = tb.rows[i].cells[1].firstChild; if(eleValue.indexOf(tb.rows[i].cells[2].innerText) > -1) { chk.checked = true; } } } function checkbox_onchange() { var tb = document.getElementById( "GridView1 "); var eleValue = document.getElementById( "eleValue "); for(var i=1;i <tb.rows.length-1;i++) { var chk = tb.rows[i].cells[1].firstChild; var id = tb.rows[i].cells[2].innerText; eleValue.value = eleValue.value.replace(id+ ", ", " "); if(chk.checked) { eleValue.value = eleValue.value + id+ ", "; } } } </script>