更改复选框列表项样式
Change CheckBoxList item style
我在 ASP.NET 中使用CheckBoxList有应用程序:
<asp:CheckBoxList runat="server" ID="myCheckBoxList">
<asp:ListItem Text="1 16" />
<asp:ListItem Text="1 17" />
<asp:ListItem Text="2 20" />
</asp:CheckBoxList>
我想在单击按钮后更改所选元素的样式。为此,我有JavaScript功能:
function changeColor() {
var checkBoxList = document.getElementById("myCheckBoxList");
var options = checkBoxList.getElementsByTagName('input');
for (var i = 0; i < options.length; i++) {
console.log(options[i].checked);
if (options[i].checked) {
options[i].parentElement.className = 'Red';
}
}
}
当我单击按钮时,所选项目会在很短的时间内(约 0,5 秒)更改其颜色,然后它们恢复为默认的黑色。为什么我的复选框列表项样式重置?我不希望这种行为。如何更改我的代码以永久更改颜色(不仅仅是 0,5 秒)?
这是完整的解决方案:
<script type="text/javascript">
function changeColor() {
var checkBoxList = $('[id$="myCheckBoxList"]');
var options = checkBoxList[0].getElementsByTagName('input');
for (var i = 0; i < options.length; i++) {
console.log(options[i].checked);
if (options[i].checked) {
options[i].parentElement.className = 'Red';
}
}
return false;
}
</script>
<asp:CheckBoxList runat="server" ID="myCheckBoxList">
<asp:ListItem Text="1 16" />
<asp:ListItem Text="1 17" />
<asp:ListItem Text="2 20" />
</asp:CheckBoxList>
<asp:Button OnClientClick="return changeColor();" Text="Test" runat="server" />
我已经使用 jQuery 本地化了 myCheckBoxList,因为如果您使用的是母版页,它在浏览器中可以具有不同的 Id。其次,我从函数中返回 false 以防止按钮单击时回发以维护类值。
相关文章:
- 列表样式在IE中未设置为none,但在IE中适用
- 如何在ExtJs中获得将应用于给定类列表的样式
- CKEditor自定义样式下拉列表,带有预览但没有内联
- 如何更改列表中一个元素中的文本样式
- 记事本++ Javascript格式样式和变量列表
- 如何在Javascript中设置随机生成的项目列表的样式
- jQuery Mobile-过滤复选框的列表视图会导致出现无样式的复选框
- 单击隐藏列表样式
- 如何设置下拉列表项的样式
- jQuery-构建一个树样式列表
- 使用子项设置列表项的样式
- 如何在TinyMCE 4.0.10版本中使用importcss插件?(无法加载content_css并查看样式下拉列表)
- 更改复选框列表项样式
- KendoUi 列表视图“按下以加载更多”无法使用 MVVM 样式
- jQuery 使用两个下拉列表更改输入 css 样式
- 数据表:列显示在“显示/隐藏列”列表中,即使它具有“显示:无”样式
- 使用可动态查询样式化列表
- 设置内容样式包含字体系列、字体大小和颜色的可编辑列表 (
- )
- JavaScript获取当前应用于元素的样式列表
- 如何使用jQuery动态更新CSS样式列表