gpt4 book ai didi

javascript - 如果按下按钮组,jQuery 显示/隐藏 div

转载 作者:行者123 更新时间:2023-12-03 00:16:35 25 4
gpt4 key购买 nike

第一个函数显示.check div 如果任何输入具有 data-target="check"被检查。

现在我正在尝试模拟相同的 checked / unchecked复选框的状态并让函数以相同的方式工作,但对于 buttons那是clicked然后un-clicked#clear按钮。

$('input').on('change', function() {
var source = $(this);
var target = $('.' + source.attr('data-target'));
if ($('input[data-target=' + source.attr('data-target') + ']:checked').length) target.show();
else target.hide();
});
$('button').on('click', function() {
var clear = $("#clear");
if ($(this) !== clear) {
var source = $(this);
var target = $('.' + source.attr('data-target'));
if ($('button[data-target=' + source.attr('data-target') + ']').length) target.show();
} else {
if ($(this) === clear) {
target.hide();
}
}
});
div {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="name" data-target="check" value="1">
<input type="checkbox" name="name" data-target="check" value="2">
<input type="checkbox" name="name" data-target="check" value="3">
<button data-target="button" value="4"></button>
<button data-target="button" value="5"></button>
<button id="clear">clear</button>

<div class="check">check</div>
<div class="button">button</div>

最佳答案

您正在做一些事情,导致此功能无法正常工作。一是您如何比较对象 - 现在我如何使用 !$(this).is(clear),另一个是您不断在 $('button' 内重新定义目标).on... 函数。它应该是这样的,为了清楚起见,我更改了变量名称:

var button_target;
$('input').on('change', function() {
var source = $(this);
var target = $('.' + source.attr('data-target'));
if ($('input[data-target=' + source.attr('data-target') + ']:checked').length) target.show();
else target.hide();
});
$('button').on('click', function() {
var clear = $("#clear");
if (!$(this).is(clear)) {
var source = $(this);
button_target = $('.' + source.attr('data-target'));
if ($('button[data-target=' + source.attr('data-target') + ']').length) button_target.show();
} else {
if ($(this).is(clear)) {
button_target.hide();
}
}
});

关于javascript - 如果按下按钮组,jQuery 显示/隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54511590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com