更改复选框列表项的颜色
Change Color of Checkbox List Item onChange
我有一个复选框+标签的列表。 我希望选中该复选框时列表项的背景颜色会更改。 目前,选中该复选框后,整个列表会更改背景颜色,而我只希望更改单个项目的背景颜色。 感谢您的帮助!
法典:
names = ["Dave","Bob","Chuck"];
var numberOf = names.length;
//Log the number of players and their names to the console.
console.log("You have " + numberOf + " recent players, and their names are " + names);
//Players List
var text = "<ul>";
for (i = 0; i < numberOf; i++) {
text += "<li class='playerListItem'><label><input type='checkbox' class='playerCheckbox'>" + names[i] + "</label></li>";
}
text += "</ul>";
document.getElementById("recentPlayersContainer").innerHTML = text;
//Changes background of currently selected playe
$('input.playerCheckbox').on('change', function(event) {
$('li.playerListItem').css('backgroundColor', 'rgba(255,102,51,0.15)');
});
});
$('input.playerCheckbox').on('change', function(event) {
$(this).closest('li.playerListItem').css('backgroundColor', 'rgba(255,102,51,0.15)');
});
没有足够的 jQuery
$('#recentPlayersContainer').append(
$('<ul />').append(
$.map(["Dave","Bob","Chuck"], function(player) {
var check = $('<input />', {
'class' : 'playerCheckbox',
type : 'checkbox',
on : {
change : function() {
$(this).closest('li')
.css('backgroundColor', this.checked ? 'rgba(255,102,51,0.15)' : "");
}
}
}),
lbl = $('<label />', {text : player}),
li = $('<li />', {'class' : 'playerListItem'});
return li.append( lbl.prepend( check ) );
})
)
);
小提琴
在
事件侦听器上使用"this"关键字。
$('input.playerCheckbox').on('change', function(event) {
// 'this' below refers to the clicked element. the parents() function selects only its parent's <li>
$(this).parents('li').css('backgroundColor', 'rgba(255,102,51,0.15)');
});
你可以
这样做:
$('input.playerCheckbox').on('change', function(event) {
$(this).closest("li").css('backgroundColor', 'rgba(255,102,51,0.15)');
});
可能还值得补充的是,取消选中复选框时,这不会删除背景颜色。因此,我只会使用一个可以根据需要删除和应用的类。
相关文章:
- Javascript通过列表项的函数和css来更改背景颜色
- 单击ng更改列表项的活动bg颜色
- Adobe Acrobat X疑难解答下拉列表颜色选择.需要单击选择
- Knockoutjs:更改下拉列表中所选值的颜色
- 一系列颜色中的颜色列表项
- 选择文档背景颜色的选择列表选项时,如何更改该颜色
- 如何更改已从单选按钮列表中选择的单选按钮的颜色
- 使用基于值的jQuery代码更改SharePoint列表字段颜色
- 引导颜色选择器,如何在下拉列表中设置颜色值框
- DevExpress 多个列表框丢失焦点颜色效果
- 常见问题下拉列表 - 单击时文本颜色已更改
- 如何在 JavaScript 中生成连续颜色的列表
- 更改复选框列表项的颜色
- 设置内容样式包含字体系列、字体大小和颜色的可编辑列表 (
- )
- 在 Java 脚本中更改颜色单击列表器
- 隐藏或删除在下拉列表中选择后在颜色框弹出窗口上的复选框
- 拆分包含rgba值的颜色列表
- 我想在javascript中有一个颜色列表
- 如何在
- 使用onchange事件获取选择颜色列表的值,以便更改图片