【发布时间】:2018-01-27 03:27:45
【问题描述】:
我正在尝试根据两个复选框的状态设置一些显示和隐藏元素的条件:
- 如果选中复选框
A,则显示类为.one的元素。 隐藏类.two的元素。 - 如果选中复选框
B,则显示具有.two类的元素。 隐藏类.one的元素。 - 如果两者都被选中,则显示这两个元素。
- 如果都没有选中,则隐藏这两个元素。
我的代码如下。除了它们的值之外,复选框是相同的。 我在检查两个复选框的逻辑上有问题。
HTML:
<form action="">
<div class="inputfield">
<label for="">A</label>
<input type="checkbox" name="xyz" value="A" />
<label for="">B</label>
<input type="checkbox" name="xyz" value="B" />
</div>
</form>
<div class="one">Results for A</div>
<div class="one">Results for A</div>
<div class="two">Results for B</div>
Js:
var a = $(".one");
var b = $(".two");
a.hide();
b.hide();
$(".inputfield input[name='xyz']").change(function() {
var value = $(this).val();
if (this.checked) {
//console.log(value);
if (value == 'A') {
a.show();
b.hide();
}
if (value == 'B') {
a.hide();
b.show();
}
if (value == 'A' && value == 'B') {
a.show();
b.show();
}
} else {
a.hide();
b.hide();
}
});
【问题讨论】:
-
你不能为不同的输入提供相同的名称,因为你会遇到这个麻烦。