从复选框中选择选中的值

时间:2017-03-07 05:12:14

标签: javascript jquery html frontend

我使用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>

2 个答案:

答案 0 :(得分: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>

您没有调用此功能。在复选框上添加事件处理程序,然后推送数组中的数据

答案 1 :(得分:0)

试试这个。

function findcheck() {

            var selected = [];

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

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

            });

        }

findcheck();

fiddlelink