2017-12-23 17 views
0

私はチェックボックスとその値をテーブルに表示しなければならないプロジェクトに取り組んでいます。つまり、ある列のチェックボックスがそこにあり、次の列はその値を表示する必要があります。私はjqueryに非常に新しいので、私は試しましたが、適切な出力を得ていません。テーブルに複数のチェックボックスの値を表示

$('input[type=checkbox]').on('change', function() { 
 
    if ($(this).is(':checked')) { 
 
    var values = []; 
 
    $.each($('input:checked'), function(index, input) { 
 
     values.push(input.value); 
 
    }); 
 

 
    var str = values.join(','); 
 
    $(".hello").html(str); 
 

 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <th>checkboxes</th> 
 
    <th>Values</th> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox" name='cbox' value="red" class="theClass" />red 
 
    </td> 
 
    <td class="hello"></td> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox" name='cbox' value="green" class="theClass" />green 
 
    </td> 
 
    <td class="hello"></td> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox" name='cbox' value="blue" class="theClass" />blue 
 
     <p></p> 
 
    </td> 
 
    <td class="hello"></td> 
 
    </tr> 
 

 
</table> 
 

 
<table>

+0

私はそれを期待してあなたのコードは動作しますが、私は異なる結果を探して、あなたのアールを推測しています。多分それがどう違うべきかの例を私たちに教えてください。 – fjoe

+0

赤いチェックボックスの前に赤色だけが表示されます。しかし、私のコードでは、すべてのチェックが表示されます。 – user5836176

答えて

1

あなたはにクラスhelloを持つすべてのテーブルセルの値を設定しています。代わりにのみをのチェックボックスの横に選択してください。 navigating to the parent cell、次にnext cellでこれを行うことができます。これを行うには

一つの方法は次のようになり$(this).parent().next(".hello")

例えば

$('input[type=checkbox]').on('change', function() { 
 
    var val = this.checked ? this.value : ""; 
 
    $(this).parent().next(".hello").text(val); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <th>checkboxes</th> 
 
    <th>Values</th> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox" name='cbox' value="red" class="theClass" />red 
 
    </td> 
 
    <td class="hello"></td> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox" name='cbox' value="green" class="theClass" />green 
 
    </td> 
 
    <td class="hello"></td> 
 
    </tr> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox" name='cbox' value="blue" class="theClass" />blue 
 
     <p></p> 
 
    </td> 
 
    <td class="hello"></td> 
 
    </tr> 
 

 
</table> 
 

 
<table>

+0

ありがとうH77、私のために働いて – user5836176

+0

恐ろしい!それが助けられたら、答えを受け入れてください。 – H77

関連する問題