有没有办法获取所有复选框的值,即使它们未被选中?
HTML:
<input type="checkbox" name="color[]" value="1"/>
<input type="checkbox" name="color[]" value="2"/>
...
JS:
$("input[name='color[]']").serialize();
像上面这样的东西,但即使没有检查它我也想要这些值。也许我需要在序列化之前将它们放入数组中?
答案 0 :(得分:2)
document.write($('input[name="color[]"]').clone().prop('checked', true).serialize());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<input type="checkbox" name="color[]" value="1" />
<input type="checkbox" name="color[]" value="2" />
&#13;
答案 1 :(得分:2)
似乎缺少简单的解决方案,所以:
var serializedValues = $('input[name="color[]"]').map(function(i, e) {
return encodeURIComponent(e.name) + "=" + encodeURIComponent(e.value);
}).get().join("&");
snippet.log(serializedValues);
<input type="checkbox" name="color[]" value="1" />
<input type="checkbox" name="color[]" value="2" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
假设你真的想要seralize
给你的相同输出。