- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
目标
尝试更改样式类似于按钮的单选输入的背景颜色,以便当用户单击它时,颜色将根据单选值发生变化。
预期结果
当点击按钮“NEUTRAL”时,将按钮背景颜色更改为白色。
当点击按钮“GOOD”时,将按钮背景颜色更改为绿色。
当点击按钮“WATCHLIST”时,将按钮背景更改为黄色。
当单击“UNDER MONOTORING”按钮时,将按钮背景更改为红色。
问题
它不会相应地更改按钮的背景,这正是我正在尝试做的。
在此感谢一些帮助。提前致谢。
$(document).ready(function() {
$('label').click(function() {
if ($("input:radio[name='category']:checked").val() == 'W') {
$(this).addClass('whiteBG');
}
if ($("input:radio[name='category']:checked").val() == 'G') {
$(this).addClass('greenBG');
}
if ($("input:radio[name='category']:checked").val() == 'Y') {
$(this).addClass('yellowBG');
}
if ($("input:radio[name='category']:checked").val() == 'R') {
$(this).addClass('redBG');
}
});
});
input[type=radio],
input[type=checkbox] {
display: none;
}
label {
display: block;
appearance: button;
-webkit-appearance: button;
-moz-appearance: button;
-ms-appearance: button;
font-family: 'Roboto', sans-serif;
font-weight: 400;
background: #DDDDDD;
font-size: 1.6rem;
color: #111111;
border: 2px solid #AAAAAA;
padding: 8px;
width: 40%;
margin: 0 auto;
text-align: center;
transition: all 0.7s ease-in-out;
}
.whiteBG {
background-color: #FFF000;
}
.greenBG {
background-color: #0F0000;
}
.yellowBG {
background-color: #FF0000;
}
.redBG {
background-color: #F00000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form>
<fieldset data-role="controlgroup">
<legend>PERSON CATEGORY SELECTION</legend>
<label for="neutral">
<input type="radio" class="button" id="neutral" name="category" value="W" >NEUTRAL</input>
</label>
<label for="good">
<input type="radio" class="button" id="good" name="category" value="G">GOOD</input>
</label>
<label for="watchlist">
<input type="radio" class="button" id="watchlist" name="category" value="Y">WATCHLIST</input>
</label>
<label for="monitor">
<input type="radio" class="button" id="monitor " name="category" value="R">UNDER MONOTORING</input>
</label>
</fieldset>
</form>
最佳答案
代码中的问题:
#
颜色代码没有反射(reflect)您尝试分配的颜色。这些十六进制代码需要是缩写的三位 RGB 值或六位 RGB 值,每种颜色有两位数,即 #RGB
或 #RRGGBB
,但它就像您通过将“000”添加到您想要的颜色的正确三位数十六进制代码的末尾来混合这两个选项。从每个代码中删除结尾的 000
,或者更改为正确的六位十六进制代码。您的 JS 代码似乎过于复杂。我会将点击处理程序绑定(bind)到单选按钮本身,因为 this.value
将为您提供刚刚点击的按钮的值,从而大大简化您的 if
条件。您可以使用 $(this).parent()
然后到达标签元素来设置样式。
我引入了一个名为 buttons
的变量,它是包含所有按钮的 jQuery 对象,因为在处理程序中你可以说 buttons.not(this).parent()
获取包含所有其他按钮的父标签元素的 jQuery 对象,并从中删除颜色类以使它们再次变灰。
$(document).ready(function() {
var buttons = $("input:radio[name='category']").click(function() {
buttons.not(this).parent().removeClass('whiteBG greenBG yellowBG redBG');
var label = $(this).parent();
if (this.value == 'W') {
label.addClass('whiteBG');
} else if (this.value == 'G') {
label.addClass('greenBG');
} else if (this.value == 'Y') {
label.addClass('yellowBG');
} else if (this.value == 'R') {
label.addClass('redBG');
}
});
});
input[type=radio], input[type=checkbox] { display: none; }
label {
display: block;
appearance: button; -webkit-appearance: button; -moz-appearance: button; -ms-appearance: button;
font-family: 'Roboto', sans-serif; font-weight: 400;
background: #DDDDDD;
font-size: 1.6rem;
color: #111111;
border: 2px solid #AAAAAA;
padding: 8px;
width: 40%;
margin: 0 auto;
text-align: center;
transition: all 0.7s ease-in-out;
}
.whiteBG { background-color: #FFF; }
.greenBG { background-color: #0F0; }
.yellowBG { background-color: #FF0; }
.redBG { background-color: #F00; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form>
<fieldset data-role="controlgroup">
<legend>PERSON CATEGORY SELECTION</legend>
<label for="neutral">
<input type="radio" class="button" id="neutral" name="category" value="W" >NEUTRAL</input>
</label>
<label for="good">
<input type="radio" class="button" id="good" name="category" value="G">GOOD</input>
</label>
<label for="watchlist">
<input type="radio" class="button" id="watchlist" name="category" value="Y">WATCHLIST</input>
</label>
<label for="monitor">
<input type="radio" class="button" id="monitor" name="category" value="R">UNDER MONOTORING</input>
</label>
</fieldset>
</form>
关于javascript - 根据它的值更改选定的单选按钮背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45704842/
我有十二个指向不同类别的链接。作为用户定位的一种方式,我想强调用户现在所在的类别( - 按钮)。 如何在 CSS 中实现这一点?我读到了 selected和 active ,但我还没能让它发挥作用。
我想通过单击按钮来获取选择框中的所有选项值(选定/未选定)。我怎样才能做到这一点? 最佳答案 我认为这是使用 Traversing/map 的好机会方法: var valuesArray = $("#
我正在尝试构建一个计算器,其中包含两个数字的两个 TextView 字段。我弄清楚了如何使用“应用程序内”数字键盘输入顶部数字 Operand 1 [textView] 的数字(我知道使用 EditT
我有一个简单的 jQuery $("span.value"),它选择包含文本的节点。此文本保证为整数。如何计算所有选定节点文本的总和,并将总和放入另一个节点? 3 4 5 ? 最佳答案 你可以这样做:
我从同一台服务器上托管的一堆数据库中备份了 mysql 数据库 db1。现在只需要备份具有访问 db1 权限的选定用户,以便我可以在 db1 还原之前将这些特权用户还原到我的新服务器。 最佳答案 St
我有一个 ListView 。我想添加一个动画,如果我选择一个列表项,它将被删除,并且该项目下方的其余项目将通过向上滑动动画向上移动。我已经通过获取其子位置使用线性布局完成了此操作,但我无法理解如何向
我不明白如何使用 Python 解析来自 Outlook 的突出显示(选定)邮件? 我有这个代码,但它适用于上一封邮件。 import win32com.client outlook = win32c
在 Xcode 6 中,您现在可以为选项卡项目的选中和未选中状态设置图标。请参阅下图中的说明: 和 唯一的问题是 SELECTED 状态的图像不显示。它只是显示空白。还有其他人有这个问题吗?请看下面的
在我的数据模型中,我有一个实体组和另一个GroupMember实体。一个Group包含一个或多个GroupMembers,但一个GroupMember只能同时位于一个Group中。到目前为止没有问题,
Android Button 在不同状态(正常、按下、选中、禁用)之间移动时会更改其可绘制背景。背景切换是即时的。是否可以使其平滑(动画)? 最佳答案 是的,这是可能的。您只需为按钮添加 addAni
我使用 emacs 来查看和编辑代码和其他文本文件。我想知道是否有一种方法可以向前或向后搜索当前缓冲区中标记的文本。类似于我在记事本或写字板中可以执行的操作。就像我可以在缓冲区中标记一些文本并执行 C
如何根据状态(选定、禁用)设置自定义选择类?如何根据状态选择(选定、禁用)在自定义下拉列表中设置类?照做了,但什么也没发生。请看我的例子................................
我正在尝试检查下拉菜单中是否存在特定文本值,如果存在,我想将其属性设置为selected。 我成功编写了一个 if 语句来检查文本是否存在: var country = usr.location; i
对于我的应用程序,我想让用户能够在回收器 View 中调整 TextView 项目的文本大小(通过捏缩放或 SeekBar)。默认值应为系统设置中选择的文本大小。最小值应为系统设置中的“非常小”,最大
我正在尝试创建一个 ListBoxItem 模板,该模板在选择时将带有圆角边框。我得到了这个 xaml,它在选择时不起作用:
我正在寻找检索焦点元素的 HTML。查看 webdriver.io 文档,方法 .getActiveElement() 应该可以解决这个问题。但是,我的 IDE (WebStorm) 显示错误,指出它
我创建了一个圆,在我的 onDraw() 方法中围绕圆绘制了一条字符串和一条线(箭头)。 public class Circle extends Activity { public class
对于生产应用程序,我们希望在 Windows 窗体应用程序的 ElementHost 内显示 DatePicker,但我们遇到了 SelectedDate 和 CurrentDate 不可读的问题,因
好的,我在此处和 Google 上的许多网站上搜索了此问题的结果,但找不到针对我的问题的确切解决方案。 我有一个 sql 提取姓名和办公室。所以事情是这样的: $sql = "SELECT m
选中单元格时如何改变灰色? 最佳答案 当用户点击选中的行 (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSInd
我是一名优秀的程序员,十分优秀!