2017-03-07 18 views
1

Javaスクリプトを使用してhtmlテーブルに値を取得しています。それから私はチェックボックスの値を私のサーバーに戻して渡したい。しかし、次のスクリプト関数は常に選択された配列を空にします。ここでチェックボックスからのチェック値の選択

function find() { 

    var dataObject = {}; 
    var selected = []; 
    var i; 

    $('input[type="checkbox"]:checked').each(function() { 
     selected.push($(this).val()); 
    }); 

    for (var i = 0, len = selected.length; i < len; i++) { 
     dataObject['id' + (i+1)] = (selected[i]); 

    } 

は、あなたが関数を呼び出すされていない受信したHTML値

<td> 
    <input type="checkbox" tr.id="0" value="0"> 
</td> 
+0

? – vel

答えて

1

$(":checkbox").change(function() { 
 
    var dataObject = {}; 
 
    var selected = []; 
 
    var i; 
 
    $('input[type="checkbox"]:checked').each(function() { 
 
    selected.push($(this).val()); 
 
    }); 
 

 
    //for (var i = 0, len = selected.length; i < len; i++) { 
 
    // dataObject['id' + (i + 1)] = (selected[i]); 
 

 
    //} 
 
    console.log(selected) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox" tr.id="0" value="0"> 
 
    </td> 
 
    </tr> 
 
</table>

です。チェックボックスにイベントハンドラを追加し、配列内のデータをプッシュ

0

これを試してください。あなたが検索()関数を呼び出し

function findcheck() { 

      var selected = []; 

      $('input[type=checkbox]').each(function() { 
       var $this = $(this); 

       if ($this.is(':checked') == true) { 
        selected.push($this.val());   
       } 

      }); 

     } 

findcheck(); 

fiddlelink

関連する問題