回答編集履歴
2
補足の追加。
    
        answer	
    CHANGED
    
    | @@ -83,4 +83,16 @@ | |
| 83 83 | 
             
            		} ).click();
         | 
| 84 84 | 
             
            	} );
         | 
| 85 85 | 
             
            } ); // 未テスト
         | 
| 86 | 
            -
            ```
         | 
| 86 | 
            +
            ```
         | 
| 87 | 
            +
             | 
| 88 | 
            +
             | 
| 89 | 
            +
             | 
| 90 | 
            +
            【jQueryのoff()を使いこなす - to-R】
         | 
| 91 | 
            +
            [http://blog.webcreativepark.net/2015/08/01-115625.html](http://blog.webcreativepark.net/2015/08/01-115625.html)
         | 
| 92 | 
            +
             | 
| 93 | 
            +
            【.off() | jQuery 1.9 日本語リファレンス | js STUDIO】
         | 
| 94 | 
            +
            [http://js.studio-kingdom.com/jquery/events/off](http://js.studio-kingdom.com/jquery/events/off)
         | 
| 95 | 
            +
             | 
| 96 | 
            +
            【.off() | jQuery API Documentation】
         | 
| 97 | 
            +
            [http://api.jquery.com/off/](http://api.jquery.com/off/)
         | 
| 98 | 
            +
             | 
1
ミスがあったため修正。
    
        answer	
    CHANGED
    
    | @@ -44,4 +44,43 @@ | |
| 44 44 | 
             
            		} ).change();
         | 
| 45 45 | 
             
            	} );
         | 
| 46 46 | 
             
            } ); // 未テスト
         | 
| 47 | 
            +
            ```
         | 
| 48 | 
            +
             | 
| 49 | 
            +
            ---
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            **追記:**
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            `$_inputs.on` を忘れていました。
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            ```JavaScript
         | 
| 56 | 
            +
            $( function() {
         | 
| 57 | 
            +
            	$( 'form' ).each( function(i, element) {
         | 
| 58 | 
            +
            		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"]';
         | 
| 59 | 
            +
            		const add = ', [name="CREDIT_COUNT"], [name="SECURITY_CD"], [name="CREDIT_NAME"], [name="CREDIT_NO"], [name="CREDIT_LIMIT_MONTH"], '[name="CREDIT_LIMIT_YEAR"]';
         | 
| 60 | 
            +
            		let $_inputs, $_input_textarea_select;
         | 
| 61 | 
            +
            		//radio,checkの要素を指定
         | 
| 62 | 
            +
            		const radio_names = $.unique( $( '[name="KESSAI_ID"]', element ).map( function( i, e ) { return e.name; } ).get() );
         | 
| 63 | 
            +
             | 
| 64 | 
            +
            		//クレジットカードにチェックを入れたらカウントする要素を追加
         | 
| 65 | 
            +
            		$( 'input[value="51"]' ).on( 'click', function() {
         | 
| 66 | 
            +
            			if ( $( this ).prop( 'checked' ) == true ) {
         | 
| 67 | 
            +
            				$_inputs = $( tgt + add, element );
         | 
| 68 | 
            +
            			} else {
         | 
| 69 | 
            +
            				$_inputs = $( tgt, element );
         | 
| 70 | 
            +
            			}
         | 
| 71 | 
            +
            			$_input_textarea_select = $_inputs.not( '[name="KESSAI_ID"]' );
         | 
| 72 | 
            +
            			$_inputs.off( 'input.tgt change.tgt' ).on( 'input.tgt change.tgt', function() {
         | 
| 73 | 
            +
            				let len = $_input_textarea_select.length + radio_names.length;
         | 
| 74 | 
            +
            				let count = len;
         | 
| 75 | 
            +
            				$_input_textarea_select.each( function(i, ele) {
         | 
| 76 | 
            +
            					if ( $.trim( $( ele ).val() ) ) { count--; }
         | 
| 77 | 
            +
            				} );
         | 
| 78 | 
            +
            				$.each( radio_names, function(i, v) {
         | 
| 79 | 
            +
            					if ( $_inputs.filter( '[name="' + v + '"]:checked' ).length ) { count--; }
         | 
| 80 | 
            +
            				} );
         | 
| 81 | 
            +
            				$( '.number', element ).html( count );
         | 
| 82 | 
            +
            			} ).change();
         | 
| 83 | 
            +
            		} ).click();
         | 
| 84 | 
            +
            	} );
         | 
| 85 | 
            +
            } ); // 未テスト
         | 
| 47 86 | 
             
            ```
         | 
