javascript - jquery onclick 按钮更改选中/取消选中操作旁边的元素背景

标签 javascript jquery buttonclick

下面的代码使得每次单击时都会选中/取消选中所有未禁用的复选框。此外,第一次单击复选框时, parent 的背景会变为红色。

var clicked = false;
    var target = jQuery(".editcheckhour:not(:disabled)");
    jQuery(".checkalledit").click(function() {
    target.prop("checked", !clicked).closest('label').css('background-color','#c00');
    clicked = !clicked;
});     

下次单击时我想改回背景颜色。因此,该函数不仅会检查/取消选中输入,还会交替更改复选框父背景。

在此 JSFIdle 演示中,只需首先单击更改背景。

https://jsfiddle.net/xLg7eszb/1/

有人帮我做这个吗?

最佳答案

尝试使用toggleClass()

var clicked = false;
var target = jQuery(".editcheckhour:not(:disabled)");
jQuery(".checkalledit").click(function() {
  target.prop("checked", !clicked).closest('label').toggleClass('bgcolor');
  clicked = !clicked;
});
label {
  background-color: #558;
  color: white;
  padding: 5px 12px;
}
label > input:disabled {
  opacity: 0.5
}
button {
  display: block;
  margin-top: 20px;
}
.bgcolor {
  background-color: #c00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<label>
  <input class="editcheckhour" type="checkbox">onet</label>
<label>
  <input disabled class="editcheckhour" type="checkbox">two</label>
<label>
  <input class="editcheckhour" type="checkbox">three</label>
<label>
  <input class="editcheckhour" type="checkbox">four</label>

<button type="button" class="checkalledit">on / off</button>

关于javascript - jquery onclick 按钮更改选中/取消选中操作旁边的元素背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34012900/

相关文章:

javascript - 将动态 CSS 样式应用于谷歌地图的标记

javascript - 如何将Ext.Store中的数据保存到数组?

jquery - 获取以默认值触发的函数?

javascript - 使用负值 Google Chart 在条形图上移动注释

javascript - NextJS 页面更改后自定义 JS 中断?

javascript - 应用appendto后将表代码的最后一个td更改为新代码

javascript - 获取最近选择框的值

javascript - Bootstrap 3 - 切换 - 2 个按钮,2 个元素 - 如何显示/隐藏?

java - 如何让方法暂停并等待 Android 的输入?