回答編集履歴
2
補足の追加。
test
CHANGED
@@ -169,3 +169,29 @@
|
|
169
169
|
} ); // 未テスト
|
170
170
|
|
171
171
|
```
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
【jQueryのoff()を使いこなす - to-R】
|
180
|
+
|
181
|
+
[http://blog.webcreativepark.net/2015/08/01-115625.html](http://blog.webcreativepark.net/2015/08/01-115625.html)
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
【.off() | jQuery 1.9 日本語リファレンス | js STUDIO】
|
186
|
+
|
187
|
+
[http://js.studio-kingdom.com/jquery/events/off](http://js.studio-kingdom.com/jquery/events/off)
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
【.off() | jQuery API Documentation】
|
192
|
+
|
193
|
+
[http://api.jquery.com/off/](http://api.jquery.com/off/)
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
1
ミスがあったため修正。
test
CHANGED
@@ -91,3 +91,81 @@
|
|
91
91
|
} ); // 未テスト
|
92
92
|
|
93
93
|
```
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
---
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
**追記:**
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
`$_inputs.on` を忘れていました。
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
```JavaScript
|
110
|
+
|
111
|
+
$( function() {
|
112
|
+
|
113
|
+
$( 'form' ).each( function(i, element) {
|
114
|
+
|
115
|
+
const tgt = '[name="L_NAME"], [name="F_NAME"], [name="L_KANA"], [name="F_KANA"], [name="PC_MAIL"], [name="PC_MAIL_CONFIRM1"], [name="PC_MAIL_CONFIRM2"], [name="ZIP"], [name="ADDR2"], [name="TEL"], [name="PASSWORD"], [name="PASSWORD2"], [name="ADDR1"], [name="KESSAI_ID"]';
|
116
|
+
|
117
|
+
const add = ', [name="CREDIT_COUNT"], [name="SECURITY_CD"], [name="CREDIT_NAME"], [name="CREDIT_NO"], [name="CREDIT_LIMIT_MONTH"], '[name="CREDIT_LIMIT_YEAR"]';
|
118
|
+
|
119
|
+
let $_inputs, $_input_textarea_select;
|
120
|
+
|
121
|
+
//radio,checkの要素を指定
|
122
|
+
|
123
|
+
const radio_names = $.unique( $( '[name="KESSAI_ID"]', element ).map( function( i, e ) { return e.name; } ).get() );
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
//クレジットカードにチェックを入れたらカウントする要素を追加
|
128
|
+
|
129
|
+
$( 'input[value="51"]' ).on( 'click', function() {
|
130
|
+
|
131
|
+
if ( $( this ).prop( 'checked' ) == true ) {
|
132
|
+
|
133
|
+
$_inputs = $( tgt + add, element );
|
134
|
+
|
135
|
+
} else {
|
136
|
+
|
137
|
+
$_inputs = $( tgt, element );
|
138
|
+
|
139
|
+
}
|
140
|
+
|
141
|
+
$_input_textarea_select = $_inputs.not( '[name="KESSAI_ID"]' );
|
142
|
+
|
143
|
+
$_inputs.off( 'input.tgt change.tgt' ).on( 'input.tgt change.tgt', function() {
|
144
|
+
|
145
|
+
let len = $_input_textarea_select.length + radio_names.length;
|
146
|
+
|
147
|
+
let count = len;
|
148
|
+
|
149
|
+
$_input_textarea_select.each( function(i, ele) {
|
150
|
+
|
151
|
+
if ( $.trim( $( ele ).val() ) ) { count--; }
|
152
|
+
|
153
|
+
} );
|
154
|
+
|
155
|
+
$.each( radio_names, function(i, v) {
|
156
|
+
|
157
|
+
if ( $_inputs.filter( '[name="' + v + '"]:checked' ).length ) { count--; }
|
158
|
+
|
159
|
+
} );
|
160
|
+
|
161
|
+
$( '.number', element ).html( count );
|
162
|
+
|
163
|
+
} ).change();
|
164
|
+
|
165
|
+
} ).click();
|
166
|
+
|
167
|
+
} );
|
168
|
+
|
169
|
+
} ); // 未テスト
|
170
|
+
|
171
|
+
```
|