首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将复选框中的值作为分组参数添加到URL字符串中?

如何将复选框中的值作为分组参数添加到URL字符串中?
EN

Stack Overflow用户
提问于 2021-09-27 14:06:44
回答 1查看 297关注 0票数 2

我看到了许多类似的问题,您可以根据“取消选中”提取复选框的值并将它们添加到URL中,但是如果我们有不同类别的复选框组,请将它们与&分离。示例:

代码语言:javascript
运行
复制
$(document).ready(function() {
        var swapRelation = "";
        $("input[type=checkbox]").click(function(e) {
            var seasoning = "",
                parentRelation = "",
                tempArray = [];
            
            $("input:checked").each(function() {
                tempArray.push($(this).attr("name").replace(/\s/g, ''));
                parentRelation = $(this).closest(".wrapper").find('.catName').text().trim();
                parentRelation = parentRelation.replace(/\s/g, '');

            });
            if (tempArray.length !== 0) {
                seasoning += `${parentRelation}=` + tempArray.toString();
                // if (swapRelation == parentRelation) {
                //     // seasoning+=`&${parentRelation}=`+tempArray.toString();
                //     seasoning += `${parentRelation}=` + tempArray.toString();
                // }else {
                    
                // }
                
                //tempArray = [];
                swapRelation = parentRelation;
            }
            console.log("example.com?" + seasoning);
        });
    });
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wrapper">
    <div class="catName">Fruits</div>
    <div class="checkBoxWrap">
        <input class="input__field" type="checkbox" name="apple" id="input-5">
        <input class="input__field" type="checkbox" name="banana" id="input-6">
        <input class="input__field" type="checkbox" name="mango" id="input-7">
    </div>
</div>
<div class="wrapper">
    <div class="catName">Vaegs</div>
    <div class="checkBoxWrap">
        <input class="input__field" type="checkbox" name="Okra" id="input-8">
        <input class="input__field" type="checkbox" name="Patato" id="input-9">
        <input class="input__field" type="checkbox" name="Tamato" id="input-10">
    </div>
</div>
<div class="wrapper">
    <div class="catName">Rivers</div>
    <div class="checkBoxWrap">
        <input class="input__field" type="checkbox" name="Ganga" id="input-11">
        <input class="input__field" type="checkbox" name="yamuna" id="input-12">
        <input class="input__field" type="checkbox" name="thames" id="input-13">
    </div>
</div>

多项选择的预期结果:

URL?Fruits=banana,mango&Vegs=okra,patato&Rivers=ganga,whateverSelected

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-27 14:41:18

您可以使用URLSearchParams构建查询字符串。

代码语言:javascript
运行
复制
var usp = new URLSearchParams();
document.querySelectorAll('.wrapper').forEach((wrapperDiv)=> {
    var category = wrapperDiv.querySelector('.catName').textContent;
    var checkedBoxes = wrapperDiv.querySelectorAll('input[type="checkbox"]:checked');
    var values = Array.from(checkedBoxes, cb=>cb.name).join('');
    usp.append(category,values);
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69348085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档