Javascript 选中复选框时更改表元素
我有一个动态创建表的函数。单击复选框时如何更改列颜色。我的函数如下所示:Javascript 选中复选框时更改表元素,javascript,jquery,css,Javascript,Jquery,Css,我有一个动态创建表的函数。单击复选框时如何更改列颜色。我的函数如下所示: function addRow() { var myName = document.getElementById("name"); var age = document.getElementById("age"); var table = document.getElementById("myTableData"); var date = document.getElementById("
function addRow() {
var myName = document.getElementById("name");
var age = document.getElementById("age");
var table = document.getElementById("myTableData");
var date = document.getElementById("date").value= Date();
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
row.insertCell(0).innerHTML = date;
row.insertCell(1).innerHTML= myName.value;
row.insertCell(2).innerHTML= age.value;
row.insertCell(3).innerHTML= '<input type="checkbox" value = "check">';
函数addRow(){
var myName=document.getElementById(“名称”);
var age=document.getElementById(“age”);
var table=document.getElementById(“myTableData”);
var date=document.getElementById(“日期”).value=date();
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
row.insertCell(0).innerHTML=date;
row.insertCell(1.innerHTML=myName.value;
row.insertCell(2).innerHTML=age.value;
insertCell(3.innerHTML='';
最简单的方法就是改变
row.insertCell(3).innerHTML= '<input type="checkbox" value = "check">';
把它当作
row.insertCell(3).innerHTML= '<input type="checkbox" value = "check" onclick="toggleColor(this)">';
正如您标记了jquery一样 CSS JS
参考-确保jquery已加载:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
只需在复选框中添加一个onclick事件,并调用一个函数来更改所有所需列的背景颜色
<input type="checkbox" value = "check" onclick="ChangeBackgroundColor(this)">
希望能有所帮助。您的问题在哪里?如何知道何时单击复选框或如何更改颜色?老实说,如果您在项目中包含jQuery,将非常感谢您的任何输入?从您对以下答案的回答(以及您引用的代码)判断,您还没有。您想将其添加到项目中吗(
适用于2.1.1版)或者,如果你不想使用jQuery,你应该从你的问题中删除标记。当我尝试此解决方案时不会发生任何事情,我是否需要包含其他内容?当我尝试此解决方案时,根本不会发生任何事情,我是否需要包含其他内容?你需要加载jQuery库此功能正常!但是,当我松开它时,我希望颜色再次更改。类似于切换功能。有什么想法吗?@krukan459抱歉,这不是你原来问题的一部分,请提出一个新问题。
.blue-color {
background-color: blue;
}
.blue-color {
background-color: blue;
}
$(document).on("change", "input[type='checkbox']", function() {
$(this).closest("td").toggleClass("blue-color");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$("#myTableData").on('click', 'input[type=checkbox]', function(){
$(this).closest('td').css("backgroundColor", "#fff");
if($(this).is(":checked"))
{
$(this).closest('td').css("backgroundColor", "#aaa");
}
});
<input type="checkbox" value = "check" onclick="ChangeBackgroundColor(this)">
function ChangeBackgroundColor(status){
if(status.checked =='true'){
document.getElementById('name').style.backgroundColor = "#000000";
document.getElementById('age').style.backgroundColor = "#000000";
document.getElementById('date').style.backgroundColor = "#000000";
}
else{
//do nothing if not checked or change it to previous colors, whatever you want
}
}