0

可能重复:
用 div 替换文本框,但 jquery 不起作用

它只工作了几秒钟,然后 div 再次消失:

$(document).ready(function () {

    $("#done").click(function () {
        $('#txtname').replaceWith(function () {

            return '<div>' + $(this).val() + '</div>';
        });
    });

.aspx

 <asp:TextBox ID="txtname" runat="server" BorderColor="#96A6C5" CssClass="txt"></asp:TextBox></div>

<div class="text">
<asp:Button ID="done" runat="server" onclick="done_Click"/>
</div>

。CS

protected void done_Click(object sender, EventArgs e)
    {

    }
4

2 回答 2

0

脚本部分应该可以正常工作。但我认为您访问控件的方式存在问题。

$("#done")并且$("#txtname")应该是$("#<%=done.ClientID%>")$("#<%=txtname.ClientID%>")分别。

于 2012-09-23T11:26:44.537 回答
0

ID如果this不起作用,您也可以使用

    $('#<%=done.ClientID%>').click(function() {
        $('#<%=txtname.ClientID%>').replaceWith(function() {

            return '<div>' + $('#<%=txtname.ClientID%>').val() + '</div>';
        });
return false;
    });

如果上述方法不起作用,这是另一个示例

    $('#<%=done.ClientID').click(function() {
        $('#<%=txtname.ClientID%>').replaceWith('<div>' + $('#<%#txtname.ClientID').val() + '</div>');

return false;
    });
于 2012-09-23T11:34:28.917 回答