gpt4 book ai didi

javascript - 一次删除多个 Div 元素 -- JavaScript

转载 作者:行者123 更新时间:2023-11-28 09:55:44 25 4
gpt4 key购买 nike

我没有发现任何与我遇到的奇怪问题有关的问题。基本上我已经设置了一个用于输入用户电话号码和分机号的表单。我制作了一个添加按钮,以便我可以向表单添加更多电话/分机。我已经在表单和 SQL 代码中添加工作正常。问题是删除表单和 SQL 代码。您可以在代码中看到,每个新条目都有自己的“删除”链接,其中包含该特定条目的 DIV 信息。然后它会执行“删除”功能,将其删除。它对表单工作得很好,但对 SQL 代码没有任何作用。我已经为 SQL 代码创建了类似的东西,所以我有一个可以删除它的函数。为了测试,我输入了与表单相同的“删除”href,如果我单击 SQL 部分的链接,它会删除它。因此,我试图找到一种方法来单击表单部分上的“删除”链接,并让它删除该特定表单和相应的 SQL 代码。我曾考虑过尝试从表单 DIV 中获取与 SQL 部分的 DIV 名称相匹配的名称,但我似乎无法让它发挥作用。

    ////
//-------------Add Phone Form----------------
////

function addElement() {

var ni = document.getElementById('phoneDiv');
var numi = document.getElementById('theValue');
var num = (document.getElementById('theValue').value -1 + 2);
numi.value = num;
var newdiv = document.createElement('div');
var divIdName = 'phoneDiv'+num+'';
var sqlDivIdName = 'SQL'+divIdName+'';
newdiv.setAttribute('id',divIdName);
newdiv.innerHTML = '<input type=hidden id=' + num + ' name='+sqlDivIdName+' value=' + num + '><a href="javascript:remove('+divIdName+')">Remove</a> <tr><td>Phone Number:</td> <td> <input type="text" name="phone' + num + '" maxlength="10"> </td></tr> <tr> <td>Extension:</td><td> <input type="text" name="ext' + num +'" maxlength="5" value="00000">';
ni.appendChild(newdiv);

javascript:addElement2();
}

////
//-------------Add Phone SQL----------------
////

function addElement2() {

var ni = document.getElementById('SQLphoneDiv');
var numi = document.getElementById('theValue2');
var num = (document.getElementById('theValue2').value -1 + 2);
numi.value = num;
var newdiv = document.createElement('div');
var divIdName = 'SQLphoneDiv'+num+'';
newdiv.setAttribute('id',divIdName);
newdiv.innerHTML = '<input type=hidden id=' +num+ ' value=' +num+ '><a href="javascript:removeSQL('+divIdName+')">Remove</a> $insert_phone = "INSERT INTO phone (Phone_Cust_ID,Phone_Numb,Ext) VALUES (\'$cust_ID[0]\',\'".$_POST[\'phone' +num+ '\']."\',\'".$_POST[\'ext' +num+ '\']."\')"; $add_phone = mysql_query($insert_phone);';
ni.appendChild(newdiv);
}


////
//-------------Remove Phone Form----------------
////

function remove(xy) {
var ni = document.getElementById('phoneDiv');


ni.removeChild(xy);

}


////
//-------------Remove Phone SQL----------------
////

function removeSQL(yz) {
var ni = document.getElementById('SQLphoneDiv');
ni.removeChild(yz);

}

我尝试只使用一个删除函数而不是两个,或者让第一个删除函数触发第二个,但我认为问题是我无法获取 SQL 部分的 +divName+ 信息我正在尝试删除的 child 。

我对 JavaScript 很陌生,所以我确信 jQuery 有一个非常简单的方法来做到这一点,但 jQuery 现在让我感到困惑,因为我仍在尝试单独掌握 JavaScript 中的大部分概念。感谢您提供我能得到的任何提示。

此外,我知道 SQL 并不真正正确,但我现在并不担心这一点。一旦我让这个功能工作,我就可以清理所有东西。

内森

最佳答案

您可以通过在 addElement 函数中执行以下操作,将 SQLphoneDiv 元素 id 存储在phoneDiv 元素中

newdiv.sqlDivId = sqlDivIdName

然后在您的remove函数中执行

var sqlDiv = document.getElementById(xy.sqlDivId);
var sqlNi = document.getElementById('SQLphoneDiv');
sqlNi.removeChild(sqlDiv);

关于javascript - 一次删除多个 Div 元素 -- JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10047904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com