首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请孟子和其他进来帮下忙,关于checkbox的有关问题~

2012-03-30 
请孟子和其他大虾进来帮下忙,关于checkbox的问题~~~请先看下http://dotnet.aspx.cc/ShowDetail.aspx?idF4

请孟子和其他大虾进来帮下忙,关于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>

热点排行