When I Click on submit button after clicking on the links it appends perfectly but when I hit the button again it doesn’t remove previously appended table. I want to clear the previously created table when user clicks on the cross button and then print the table again or else overwrite the table but instead it is not removing the table and prints a new one.Image Part OneImage Part TwoImage Part ThreeImage Part Four
JavaScript
x
51
51
1
//variables
2
var order1 = document.getElementById('one').innerText;
3
var order2 = document.getElementById('two').innerText;
4
var order3 = document.getElementById('three').innerText;
5
var order4 = document.getElementById('four').innerText;
6
var temp = 0;
7
var orders_list = []; //Array
8
9
10
11
//Object Orientation To Create Order And Then Add It In Array
12
function orders(name) {
13
this.name = name;
14
if (orders_list[temp] == null) {
15
orders_list.push(name);
16
}
17
temp++;
18
}
19
20
//Main Function Which Creates Orders
21
function order_maker(order_name) {
22
var order = new orders("." + order_name);
23
}
24
25
26
//To Append Child Each Time Submit Buton Is Pressed And Check the Loop
27
function loop(argument) {
28
var i = 0;
29
while (i < orders_list.length) {
30
var temporary = document.createElement("table");
31
var orders_temp_list = orders_list[i];
32
temporary.innerHTML = "<tr><td>" + orders_list[i] + "</td><td onclick='remove(" + i + ")'>×</td></tr>";
33
document.body.appendChild(temporary);
34
35
//This Block Is That I was Checking
36
if (argument == "f") {
37
temporary.innerHTML = " ";
38
}
39
if (argument == "t") {
40
console.log("Done");
41
}
42
i++;
43
}
44
}
45
46
47
//To Remove The Specific Element User Want To Delete
48
function remove(id) {
49
orders_list.splice(id, id);
50
loop("t");
51
}
JavaScript
1
13
13
1
a {
2
margin: 20px;
3
padding: 30px;
4
}
5
6
table {
7
border: 3px solid #242424;
8
}
9
10
tr,
11
td {
12
padding: 20px;
13
}
JavaScript
1
17
17
1
<!DOCTYPE html>
2
3
<head></head>
4
5
<body>
6
<a href="#" id="one" onclick="order_maker(order1)">Cake1</a>
7
<a href="#" id="two" onclick="order_maker(order2)">Cake2</a>
8
<a href="#" id="three" onclick="order_maker(order3)">Cake3</a>
9
<a href="#" id="four" onclick="order_maker(order4)">Cake4</a>
10
<form>
11
<input placeholder="name">
12
<input placeholder="email">
13
<input placeholder="order">
14
</form>
15
<p id="para"></p>
16
<button onclick="loop('t')">Click</button>
17
</body>
Advertisement
Answer
- Update your
remove
function asfunction remove(el) { el.closest('table').remove(); }
. - Update parameter in html as
"</td><td onclick='remove(this)'>×</td></tr>"
. - And add
orders_list = [];
in theend of loop function
.
Try it below.
JavaScript
1
52
52
1
//variables
2
var order1 = document.getElementById('one').innerText;
3
var order2 = document.getElementById('two').innerText;
4
var order3 = document.getElementById('three').innerText;
5
var order4 = document.getElementById('four').innerText;
6
var temp = 0;
7
var orders_list = []; //Array
8
9
10
11
//Object Orientation To Create Order And Then Add It In Array
12
function orders(name) {
13
this.name = name;
14
if (orders_list[temp] == null) {
15
orders_list.push(name);
16
}
17
temp++;
18
}
19
20
//Main Function Which Creates Orders
21
function order_maker(order_name) {
22
var order = new orders("." + order_name);
23
}
24
25
26
//To Append Child Each Time Submit Buton Is Pressed And Check the Loop
27
function loop(argument) {
28
var i = 0;
29
while (i < orders_list.length) {
30
var temporary = document.createElement("table");
31
var orders_temp_list = orders_list[i];
32
temporary.innerHTML = "<tr><td>" + orders_list[i] + "</td><td onclick='remove(this)'>×</td></tr>";
33
document.body.appendChild(temporary);
34
35
//This Block Is That I was Checking
36
if (argument == "f") {
37
temporary.innerHTML = " ";
38
}
39
if (argument == "t") {
40
console.log("Done");
41
}
42
i++;
43
}
44
45
orders_list = [];
46
}
47
48
49
//To Remove The Specific Element User Want To Delete
50
function remove(el) {
51
el.closest('table').remove();
52
}
JavaScript
1
13
13
1
a {
2
margin: 20px;
3
padding: 30px;
4
}
5
6
table {
7
border: 3px solid #242424;
8
}
9
10
tr,
11
td {
12
padding: 20px;
13
}
JavaScript
1
17
17
1
<!DOCTYPE html>
2
3
<head></head>
4
5
<body>
6
<a href="#" id="one" onclick="order_maker(order1)">Cake1</a>
7
<a href="#" id="two" onclick="order_maker(order2)">Cake2</a>
8
<a href="#" id="three" onclick="order_maker(order3)">Cake3</a>
9
<a href="#" id="four" onclick="order_maker(order4)">Cake4</a>
10
<form>
11
<input placeholder="name">
12
<input placeholder="email">
13
<input placeholder="order">
14
</form>
15
<p id="para"></p>
16
<button onclick="loop('t')">Click</button>
17
</body>