0

我正在努力理解数组语法。我有 6 组复选框,理想情况下,我希望能够将响应(选中 = 1 或关闭 = 0)发送到查询字符串中,以便在此表单履行的另一侧进行解析。

我已经包含了到目前为止的内容并且它可以工作,但我希望我的 URL 更短并且更有效地到达那里。

当前 URL:(http://domain/index.html?t1a=0&t1b=1&t2a=0&t2b0想象一下这个有 30 个参数)

目标网址:http://domain/index.html?t1=01&t2=00


HTML 示例:

<form>
<div id="checkbox-topic1">
    <input name="topic1" class="interest-checkbox" id="topic1a" type="checkbox" />
    <input name="topic1" class="interest-checkbox" id="topic1b" type="checkbox" />
</div>
<div id="checkbox-topic2">
    <input name="topic2" class="interest-checkbox" id="topic2a" type="checkbox" />
    <input name="topic2" class="interest-checkbox" id="topic2b" type="checkbox" />
</div>
</form>

jQuery 示例:

    function appendURLQueryString() {
    var customURL = $("#custom-url");
    // TOPIC 1 ================//
    var t1a = 0;
    if ($('#topic1a').is(':checked')) {
        t1a = 1;
    }
    var t1b = 0;
    if ($('#topic1b').is(':checked')) {
        t1b = 1;
    }
    // TOPIC 2 ================//
    var t2a = 0;
    if ($('#topic2a').is(':checked')) {
        t2a = 1;
    }
    var t2b = 0;
    if ($('#topic2b').is(':checked')) {
        t2b = 1;
    }
    var tempURL = ('http://domain/index.html?t1a=' + t1a + '&t1b=' + t1b + '&t2a=' + t2a + '&t2b=' + t2b);
    customURL.attr("value", tempURL);
}

谢谢!

4

0 回答 0