回答編集履歴
2
テキスト修正
answer
CHANGED
@@ -30,4 +30,46 @@
|
|
30
30
|
```html
|
31
31
|
<span onclick="deleteRow(); return(false);">
|
32
32
|
```
|
33
|
-
のようにすればよいかと思います。
|
33
|
+
のようにすればよいかと思います。
|
34
|
+
|
35
|
+
---
|
36
|
+
**補足**
|
37
|
+
|
38
|
+
回答に
|
39
|
+
|
40
|
+
> ```html
|
41
|
+
> <span onclick="deleteRow(); return(false);">
|
42
|
+
> ```
|
43
|
+
> のように
|
44
|
+
|
45
|
+
|
46
|
+
と書いたほうのやり方で修正すると、たとえば以下になります。
|
47
|
+
|
48
|
+
[https://jsfiddle.net/jun68ykt/sLhfz1ye/31/](https://jsfiddle.net/jun68ykt/sLhfz1ye/31/)
|
49
|
+
|
50
|
+
|
51
|
+
行を削除する関数を、以下のように jQuery のヘルパ関数として設定します。
|
52
|
+
|
53
|
+
```javascript
|
54
|
+
|
55
|
+
$.deleteRow = function() {
|
56
|
+
var row = $(this).closest("tr").remove();
|
57
|
+
alert();
|
58
|
+
$(row).remove();
|
59
|
+
};
|
60
|
+
```
|
61
|
+
|
62
|
+
この `$.deleteRow` を、 追加する行の中の `<span>` の clickハンドラとして使うには、
|
63
|
+
|
64
|
+
```javascript
|
65
|
+
<span onclick="$.deleteRow.apply(this);"
|
66
|
+
```
|
67
|
+
|
68
|
+
と書きます。
|
69
|
+
また、初期表示のときの行に、clickハンドラを設定するところは
|
70
|
+
|
71
|
+
```javascript
|
72
|
+
$('.delete').click($.deleteRow);
|
73
|
+
```
|
74
|
+
|
75
|
+
と書けます。
|
1
テキスト修正
answer
CHANGED
@@ -25,9 +25,8 @@
|
|
25
25
|
しかし明らかにこれは冗長で、本当は追加した行の span にのみ
|
26
26
|
行を削除するハンドラを設定すればよいのですが、そうするには、
|
27
27
|
.after() に長い文字列を与えるのではなく、 span を $('<span>') で
|
28
|
-
作って、それに click で行削除を設定するか、もしくは
|
28
|
+
作って、それに `.click()` で行削除の関数を設定するか、もしくは
|
29
|
-
今のまま文字列でいくなら、 行削除を行う処理を関数化して
|
29
|
+
今のまま文字列でいくなら、 行削除を行う処理を個別に関数化して、
|
30
|
-
|
31
30
|
```html
|
32
31
|
<span onclick="deleteRow(); return(false);">
|
33
32
|
```
|