如何为页面重定向单独检索复选框值。我希望能够在用户选中2个复选框后重定向用户;然后自动重定向,将其值作为有效负载。
<script>
$("input:checkbox").on('click', function () {
var $box = $(this);
if ($box.is(":checked")) {
var group = "input:checkbox[name='" + $box.attr("name") + "']";
$(group).prop("checked", false);
$box.prop("checked", true);
var1 = $("input:checkbox[name='fooby[1][]']")
var2 = $("input:checkbox[name='fooby[2][]']")
if (($(var1).is(":checked")) & ($(var2).is(":checked"))) {
window.location.href = url + 'var1=' + var1.value + '?var2=' + var2.value
}
} else {
$box.prop("checked", false);
}
});
</script>
我正在尝试使用两个有效负载重定向用户 - 我也不能将var2与var1混合;它需要保持不变,它们的值应该相应地排序。 当我这样做时。它只给我一个值,这是最后一个检查值。如何获得2个不同的值?
这是var1例如
<center><input style="display:block"type="checkbox" id="group1" class="radio" value="SINGLE_EXAM" name="fooby[1][]" />
这是例如
的var2<center><input type="checkbox" class="radio" value="Long Beach" id="group4" name="fooby[2][]" /> <label for="group4">dTLA</label>
我想要获得两个不同的价值观;我尝试将所有内容添加到数组中;它没有用,因为如果我这样做,var1可能是var2。我该如何解决这个问题?
答案 0 :(得分:0)
首先,您应该使用代码段(人们可以重现问题)展示一个有效的示例,以便更清楚地了解您要实现的目标。
现在,您遇到的主要问题是因为您使用的是var1.value
和var2.value
。但那些变量是JQ对象。所以你应该使用.val()
。
然后,您应该只选择:checked
和var1
中的var2
个复选框,它们会为您提供所选选项的正确值。
顺便说一句,您使用的是url + 'var1=' + var1.value + '?var2=' + var2.value
。
您的意思是使用url + '?var1=' + var1.value + '&var2=' + var2.value
由于您没有展示一个工作示例,我可以自由地假设一些HTML,如下所示。
$("input:checkbox").on('click', function () {
var url = 'http://example.com/';
var $box = $(this);
if ($box.is(":checked")) {
var group = "input:checkbox[name='" + $box.attr("name") + "']";
$(group).prop("checked", false);
$box.prop("checked", true);
var1 = $("input:checkbox[name='fooby[1][]']:checked")
var2 = $("input:checkbox[name='fooby[2][]']:checked")
if (($(var1).is(":checked")) & ($(var2).is(":checked"))) {
console.log(url + 'var1=' + var1.val() + '?var2=' + var2.val());
// window.location.href = url + 'var1=' + var1.value + '?var2=' + var2.value
}
} else {
$box.prop("checked", false);
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="group1" class="radio" value="SINGLE_EXAM" name="fooby[1][]" /> <label for="group1">Single Exam</label>
<input type="checkbox" id="group2" class="radio" value="MULTIPLE_EXAM" name="fooby[1][]" /> <label for="group2">Multiple Exams</label>
<input type="checkbox" id="group3" class="radio" value="NO_EXAM" name="fooby[1][]" /> <label for="group3">No Exam</label>
<br>
<input type="checkbox" class="radio" value="Long Beach" id="group4" name="fooby[2][]" /> <label for="group4">dTLA</label>
<input type="checkbox" class="radio" value="Medium Beach" id="group5" name="fooby[2][]" /> <label for="group5">eTLA</label>
<input type="checkbox" class="radio" value="Short Beach" id="group6" name="fooby[2][]" /> <label for="group6">fTLA</label>
&#13;