获取所有选中复选框的列表

时间:2016-07-04 13:22:49

标签: javascript jquery checkbox

我想知道检查了哪些复选框,所以我尝试了这段代码:

$('.feature input[type="checkbox"').serialize();

这就是我的HTML的样子:

<div class="feature">
  <h2>Features</h2>
  <label><input class="custom_css" checked="" type="checkbox" name="feature[]"> Custom CSS (style.css)</label>
  <label><input class="custom_js" checked="" type="checkbox" name="feature[]"> Custom Javascript (script.js)</label>
  <label><input class="modernizr" type="checkbox" name="feature[]"> Modernizr</label>
  <label><input class="google_maps" type="checkbox" name="feature[]"> Google Maps</label>
  <label><input class="custom_api" type="checkbox" name="feature[]"> Custom API</label>
  <label><input class="font_awesome" type="checkbox" name="feature[]"> Font Awesome</label>
</div>

这是我得到的输出:

  

array(1){[“var_sent_via_ajax”] =&gt;串(67)   “特征%5B%5D = ON&安培;特征%5B%5D = ON&安培;特征%5B%5D = ON&安培;特征%5B%5D =上”   }

现在我如何知道哪些已被检查过? %5B%5D 的标志是什么意思?

4 个答案:

答案 0 :(得分:2)

$(".feature input[type='checkbox']:checked").length;

这将为您提供已选中复选框的数量。

$(".feature input[type='checkbox']:checked")

这将为您提供选中的复选框(对象)

答案 1 :(得分:1)

关于:%5B%5D
答:它们只是原始的http编码值“[]”(序列化函数的结果) 当服务器解析它转换为[]并发送到应用程序,威胁它作为一个数组

关于你为什么得到假人:“功能%5B%5D = on&amp; feature%5B%5D = on ...”字符串
答:你忘了给每个复选框一个值参数,然后它们就像:“feature%5B%5D = custom_css&amp; feature%5B%5D = custom_js ...”

我写过解决方案 拿这个工作示例并在服务器端应用程序上处理请求的“功能”参数,如字符串,然后通过“,”(php:$features = explode(',', $_POST['features'])收缩;

$(function() {
  
  $('#getFeatures').click(function() {
    var features = [];
    $('.feature input[type="checkbox"]:checked').each(function() {
      features.push($(this).val());
    });
    $('#selectedFeatures').html(features.join(','));
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="feature">
  <h2>Features</h2>
  <label><input class="custom_css" checked="" type="checkbox" name="feature[]" value="custom_css"> Custom CSS (style.css)</label>
  <label><input class="custom_js" checked="" type="checkbox" name="feature[]" value="custom_js"> Custom Javascript (script.js)</label>
  <label><input class="modernizr" type="checkbox" name="feature[]" value="modernizr"> Modernizr</label>
  <label><input class="google_maps" type="checkbox" name="feature[]" value="google_maps"> Google Maps</label>
  <label><input class="custom_api" type="checkbox" name="feature[]" value="custom_api"> Custom API</label>
  <label><input class="font_awesome" type="checkbox" name="feature[]" value="font_awesome"> Font Awesome</label>
</div>

<button id="getFeatures">GET FEATURES</button>
<div id="selectedFeatures"></div>

答案 2 :(得分:0)

你可以通过名字获取它们然后逐个检查

FullyQualifiedNameOfYourClass@12345

答案 3 :(得分:0)

您可以通过以下示例获得答案:

$('input[name="feature"]:checked').each(function() {
   console.log(this.value);
});