作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有几组复选框,其中包含:
我有以下 HTML:
<form>
<input type="checkbox" name="family" value="familyname1" id="familyname1">
<fieldset>
<ul>
<li id="group1">
<input type="checkbox" name="kind" value="kindname1" id="kindname1" />
<ul>
<li>
<input type="checkbox" name="gender" id="gendername1" value="gendername1" /></li>
<li><input type="checkbox" name="gender" id="gendername2" value="gendername2" /></li>
</ul>
</li>
<li id="group2">
<input type="checkbox" name="kind" value="kindname2" id="kindname2">
<ul>
<li>
<input type="checkbox" name="gender" id="gendername3" value="gendername3"></li>
<li><input type="checkbox" name="gender" id="gendername4" value="gendername4"></li>
</ul>
</li>
</ul>
</fieldset>
<input type="submit" value="ok">
</form>
<div id="result"></p> <--- To display the result of my tests
提交时,我需要向我的开发人员提供以下 JSON 字符串格式或类似格式的检查值:例如:family=familyname1&familyname2,kind=kindname1,gender=gendername2&gendername3
事实上,我需要按家庭、种类和性别对值进行分组...
我尝试使用 .serializeArray()
方法获取某些内容,但没有成功。
此外,也许我应该重新思考或重写我的 html 标记中的某些内容,请毫不犹豫地告诉我。我是表单方面最差的前端开发人员:)
最佳答案
您可以构建一个存储排序顺序的数组,然后使用 serializeArray
获取对象数组中的表单元素,并使用 jQuery map
和 js 获取最终字符串加入
。
代码:
var sortOrders = {
"family": 1,
"kind": 2,
"gender": 3
};
$('#demo').click(function () {
var arr = $('form').serializeArray()
$('#result').text(arr.sort(function (a, b) {
return sortOrders[a.name] > sortOrders[b.name] ? 1 : -1;
}).map(function (elem) {
return elem.name + '=' + elem.value;
}).join("&"));
});
关于jquery - 使用 .serializeArray() 对复选框值进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102268/
我是一名优秀的程序员,十分优秀!