11

jQueryですべての入力フィールドの値を取得したい。次のコードでそれを行うことができます。ただし、入力フィールドがチェックボックスであり、チェックされている場合は、「on」を返します。チェックされている場合、値を1として取得するにはどうすればよいですか?

jQuery:

$('button').click(function() {

    inputs = $('.input');
    inputs.each(function() {
        var value = $(this).val();  
        alert(value);
    }); 

});

HTML:

<input type="text" class="input" />
<input type="text" class="input" />
<input type="checkbox" class="input">

<button>Get values<button>

デモ: http://jsfiddle.net/yDKdT/

4

6 に答える 6

33

要素のタイプが等しいかどうかを確認する必要がありますcheckbox

if( $( this ).attr( 'type' ) === 'checkbox' ) {
    value = +$(this).is( ':checked' );
}

ヒント: +symbol はブール値を整数に変換します:1/0

更新されたjsFiddleを参照してください

于 2013-11-05T12:13:46.740 に答える
1

値を取得する代わりに .is(':checked') を使用してください。これは、チェックされている場合、「オン」になるのではなく、ブール値として返します。

于 2013-11-05T12:13:15.410 に答える
0

チェックボックスの値について言及していないため、これを試してください:

<input type="checkbox" class="input" value="1">

デモ: http://jsfiddle.net/yDKdT/3/

于 2013-11-05T12:13:38.533 に答える