【问题标题】:get all checked iCheck input values when form submit表单提交时获取所有检查的 iCheck 输入值
【发布时间】:2016-12-11 09:47:53
【问题描述】:

我有这样的 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>

【问题讨论】:

  • 你所说的“in one result value”是什么意思?您是否需要将它们以逗号分隔的列表复制到不同的输入字段、JavaScript 数组、JSON 或其他内容?
  • 我添加了更多细节。我需要获取选中复选框的所有值。不管是哪种类型

标签: jquery forms form-submit icheck


【解决方案1】:

我有下一个 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

【讨论】:

    【解决方案2】:

    试试这个:

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

    【讨论】:

      【解决方案3】:

      下面的代码对我有用,

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

      【讨论】:

        猜你喜欢
        • 2015-05-05
        • 2020-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多