表格提交时获取所有检查的Icheck输入值



我有这样的html,并且需要提交表单以在一个结果值中获取所有检查值,但是我使用库iCheck.js,我没有属性检查的输入

$('.checkbox-buy').iCheck({
    checkboxClass: 'icheckbox_square-green',
    radioClass: 'iradio_square-green',
    increaseArea: '20%' // optional
});
/* I need something like but it doesn't work
*/
 $('#form1').submit(function(){
   var result;
   $('.checkbox-buy').on('ifChecked', function(event).each(function(){
result += $(this).val();
});
});
<script src="http://tvoetango.ru/elki2/libs/icheck/icheck.min.js"></script>
<link href="http://tvoetango.ru/elki2/libs/icheck/skins/square/green.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<form action="form.php" method="post" id="form1">
	<input type="checkbox" name="buy-item"  class="checkbox-buy" value="value 1">
	<input type="checkbox" name="buy-item"  class="checkbox-buy" value="value 2">
	<input type="checkbox" name="buy-item"  class="checkbox-buy" value="value 3">
  <!--
In html I have such code
-->
  <!--
  <div class="icheckbox_square-green checked" style="position: relative;">
<input class="checkbox-buy" name="buy-item" value="value1" style="position: absolute; top: -20%; left: -20%; display: block; width: 140%; height: 140%; margin: 0px; padding: 0px; background: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 0px none; opacity: 0;" type="checkbox">
<ins class="iCheck-helper" style="position: absolute; top: -20%; left: -20%; display: block; width: 140%; height: 140%; margin: 0px; padding: 0px; background: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 0px none; opacity: 0;"></ins>
</div>
-->
</form>

我有下一个html:

<input type="checkbox" name="buy-item"  class="checkbox-buy" value="value 1" checked="true">
<input type="checkbox" name="buy-item"  class="checkbox-buy" value="value 2">
<input type="checkbox" name="buy-item"  class="checkbox-buy" value="value 3">

将检查值作为数组,带有值:

var dic = $(".checkbox-buy:checked").map(function(){
  return $(this).val();
}).toArray();
console.log(dic); // => ["value 1"]

demo

尝试以下:

$('#form1').submit(function(){
   var result = '';
   $(this).find('.checkbox-buy').each(function()
     if($(this).prop("checked") == true) {
        result += $(this).val();
     }  
   });
});

以下代码对我有用,

$('#form1').submit(function(){
    var result = '';
    $.each($("input[name='buy-item']:checked"), function(){
        result += $(this).val();
    });
});

最新更新