当前位置: 代码迷 >> JavaScript >> 如何删除由.append()添加的jQuery元素?
  详细解决方案

如何删除由.append()添加的jQuery元素?

热度:114   发布时间:2023-06-05 10:24:36.0

基本信息
我正在为配送中心开发基于Intranet的管理系统。

情况
基本上,我有一个带有所有用户数据的contenteditable表。 当然除了密码。 您可以将其与基于Web的Excel工作表进行比较。 使用jQuery UI对话框,我弹出一个表单,该表单允许系统的管理员(公司经理)在单击按钮时更改员工密码。

为了确保将密码更改应用到正确的用户,我将使用的ID传递给弹出对话框的函数。 使用.append()将这个ID添加到表单中。 到现在为止,一切工作都很好。

问题
如果取消了密码更改,则必须再次从表单中删除该ID。 否则,您最终会在每个单击的用户上向表单添加越来越多的ID。 成功更改密码后也是如此。 我尝试使用jQuery .remove()进行此操作,但是即使我找不到代码的任何问题,它也似乎无法正常工作。


function changePass(id){
    var addID = $("<input>")
        .attr("type", "text")
        .attr("id", "userid")
        .attr("name", "userid").val(id);
    $('#passChangeForm').append($(addID));
    $("#changePass").dialog({
        modal: true,
        resizable: false,
        title: "Change password",
        buttons: [
            {
                text: "Cancel",
                click: function() {
                    $("#passChangeForm").remove("#userid");
                    $(this).dialog("close");
                }
            },
            {
                text: "Ok",
                click: function() {
                    $("#passChangeForm").submit();
                }
            }
        ]
    });
}

$("#passChangeForm").on("submit", function(e){
    e.preventDefault();
    var password = document.getElementById("chPass1").value;
    var password2 = document.getElementById("chPass2").value;
    var userid = document.getElementById("userid").value;
    $.ajax({
        url: "system/changepass.php",
        type: "POST",
        data:'pass1='+password+'&pass2='+password2+'&id='+userid,
        success: function(text){
            alert(text);
            $("#passChangeForm").remove("#userid");
            $("#changePass").dialog("close");
        }
    });
});

只需使用:

$( "#userid" ).remove();

换线

$("#passChangeForm").remove("#userid");

$("#userid").remove();
  相关解决方案