$("#divReater tr td :checkbox").click(function(){ //复选框事件
var i=$("#divReater tr td :checkbox").index(this);
var txtName=$("#divReater tr td :text").eq(i).val();
if(txtName!=""){
$("#divReater tr td :text").eq(i).hide();
$("#divReater tr td span").eq(i).text(txtName).show();
}
});<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate><table><tr><td></td><th>类别</th><th></th></tr></HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:CheckBox runat="server" id="chkUpdate" /></td>
<td><asp:Label ID="lblCategoryName" runat="server" Text=<%#Eval("name") %>></asp:Label><input type="text" /></td>
<td><a href="#">编辑</a><asp:HiddenField ID="newCID" runat="server" Value=<%#Eval("newCID") %> /></td>
</tr>
</ItemTemplate>
<FooterTemplate></table><input id="chkAll" type="checkbox" />全选</FooterTemplate>
</asp:Repeater>
foreach (RepeaterItem item in Repeater1.Items)
{
CheckBox chkUpdate = (CheckBox)item.FindControl("chkUpdate");
Label lblCategoryName = (Label)item.FindControl("lblCategoryName");
HiddenField hiddenCID=(HiddenField)item.FindControl("newCID");
//HiddenField hiddenName = (HiddenField)item.FindControl("categoryName");
int newCID=int.Parse(hiddenCID.Value.ToString());
if (chkUpdate.Checked == true)
{
newCategoryBLL.edit_newCategory(newCID, lblCategoryName.Text);
}
}
例如:开始的值是"runbear",修改后是:"runbear123"
在FF的fireBUG里面看着,label(客户端:span)的值已经是"runbear123"了,但后台取的仍然是"runbear",为什么会这样?
哪里错了?如果不用label,直接用span,Label lblCategoryName = (Label)item.FindControl("lblCategoryName");这一句要怎么改
var i=$("#divReater tr td :checkbox").index(this);
var txtName=$("#divReater tr td :text").eq(i).val();
if(txtName!=""){
$("#divReater tr td :text").eq(i).hide();
$("#divReater tr td span").eq(i).text(txtName).show();
}
});<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate><table><tr><td></td><th>类别</th><th></th></tr></HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:CheckBox runat="server" id="chkUpdate" /></td>
<td><asp:Label ID="lblCategoryName" runat="server" Text=<%#Eval("name") %>></asp:Label><input type="text" /></td>
<td><a href="#">编辑</a><asp:HiddenField ID="newCID" runat="server" Value=<%#Eval("newCID") %> /></td>
</tr>
</ItemTemplate>
<FooterTemplate></table><input id="chkAll" type="checkbox" />全选</FooterTemplate>
</asp:Repeater>
foreach (RepeaterItem item in Repeater1.Items)
{
CheckBox chkUpdate = (CheckBox)item.FindControl("chkUpdate");
Label lblCategoryName = (Label)item.FindControl("lblCategoryName");
HiddenField hiddenCID=(HiddenField)item.FindControl("newCID");
//HiddenField hiddenName = (HiddenField)item.FindControl("categoryName");
int newCID=int.Parse(hiddenCID.Value.ToString());
if (chkUpdate.Checked == true)
{
newCategoryBLL.edit_newCategory(newCID, lblCategoryName.Text);
}
}
例如:开始的值是"runbear",修改后是:"runbear123"
在FF的fireBUG里面看着,label(客户端:span)的值已经是"runbear123"了,但后台取的仍然是"runbear",为什么会这样?
哪里错了?如果不用label,直接用span,Label lblCategoryName = (Label)item.FindControl("lblCategoryName");这一句要怎么改
如果你想获得,可以在 span 的旁边放一个 HiddenField 改变span 的时候 也改变它 ,它的value始终和span 的innerText 一致然后 获取 HiddenField 的value 即可