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

时间:2015-07-30 11:59:41

标签: javascript jquery jquery-ui

一般信息
我正在为配送中心建立一个基于内联网的管理系统。

情况
基本上我有一个包含所有用户数据的可满足的表格。当然除了密码。您可以将它与基于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");
        }
    });
});

2 个答案:

答案 0 :(得分:3)

只需使用:

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

答案 1 :(得分:0)

更改行

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

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