function updateshow(id)
{
            $("#tr"+id+" span").hide();
            $("#tr"+id+" input").show();
}
<asp:Repeater ID ="Respeater1" runat="server" OnItemCommand="Respeater1_ItemCommand">
 <ItemTemplate>
 <tr id='tr<%# Eval("id") %>'>
 <td><span><%#Eval("id")%></span><asp:Label ID="labID" runat="server" Text=''></asp:Label>
 <asp:TextBox ID="TextBox1" Text='<%#Eval("id")%>' runat="server" style=" display:none;"></asp:TextBox></td>
 
 <td><span><%#Eval("_IP")%></span><asp:Label ID="labIP" runat="server" Text=''></asp:Label>
 <asp:TextBox  ID="txtip"  Text='<%#Eval("_IP")%>' runat="server" style=" display:none;"></asp:TextBox></td>
 
 <td><span><%#Eval("_Port")%></span><asp:Label ID="labPort" runat="server" Text=''></asp:Label>
 <asp:TextBox   ID="TextBox6"  Text='<%#Eval("_Port")%>' runat="server" style=" display:none;"></asp:TextBox></td>
 
 <td><span><%#Eval("_WebSite")%></span><asp:Label ID="labWebSite" runat="server" Text=''></asp:Label>
 <asp:TextBox  ID="TextBox7" Text='<%#Eval("_WebSite")%>' runat="server" style=" display:none;"></asp:TextBox></td>
 
 <td>
     <input id="Button1" type="button" value="修改" onclick="updateshow('<%# Eval("id") %>')" /> <asp:Button ID="btnEdit" runat="server" Text="保存" CommandName="edit" 
            CommandArgument='<%#Eval("ID")+","+ Container.ItemIndex %>' 
            oncommand="btnEdit_Command" />|<asp:Button ID="btnDel"
         runat="server" Text="删除"  CommandName="del" 
            CommandArgument='<%#Eval("ID") %>' 
            OnClientClick="return confirm('确定要删除站点信息吗?');" oncommand="btnDel_Command"/>
</td>   
 </tr>
 </ItemTemplate> 
为什么点修改时,不隐藏其中一个控件,显示另一个要编辑的控件

解决方案 »

  1.   

    $("#tr"+id+" span").hide();这个意思是id行下的所有span元素隐藏
      $("#tr"+id+" input").show();这个意思是id行下的所有input元素显示,你要先理解这两个用法
      

  2.   

    查看下源文件,看看空间名字id=“” 这里面的名称有变没有?如果变了,以调试中的为准,如果没有变,将js放到网页最后执行。试试。
      

  3.   

    <%# Eval("id") %>
    这里面的值是什么?你绑定之后查看源码 看看生成什么样的ID
      

  4.   

    input    好像不会显示textbox吧 
      

  5.   

    lz有加载jq库?
    或者是放在用户控件or母版页里?