Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选中复选框时更改表元素_Javascript_Jquery_Css - Fatal编程技术网

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
          }

}