Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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_Html_Css - Fatal编程技术网

Javascript 在切换复选框时隐藏/显示列 取消选中复选框时隐藏列

Javascript 在切换复选框时隐藏/显示列 取消选中复选框时隐藏列,javascript,jquery,html,css,Javascript,Jquery,Html,Css,注意:在您指向基于同一问题的链接之前,我需要告诉您,我在这里尝试了所有相关的解决方案,但没有任何效果。我之所以注册,正是因为这里的解决方案都不起作用。 因此,我的代码允许您动态创建表并编辑表内容。对于创建的每个新列,还将添加一个复选框,如果未选中该复选框,将隐藏创建的列 这是我的代码: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http

注意:在您指向基于同一问题的链接之前,我需要告诉您,我在这里尝试了所有相关的解决方案,但没有任何效果。我之所以注册,正是因为这里的解决方案都不起作用。

因此,我的代码允许您动态创建表并编辑表内容。对于创建的每个新列,还将添加一个复选框,如果未选中该复选框,将隐藏创建的列

这是我的代码:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.4.4.min.js"></script>
 <script type="text/javascript"             src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type='text/javascript'>
function addrow()
{    
 first_row = $('#Row1');
 first_row.clone().appendTo('random');
}
function addcol()
{
 var myform = $('#myform'),
 iter = 1;
 myform.find('tr').each(function(){
           var trow = $(this);
             if(trow.index() === 0){
                 trow.append('<th contenteditable="true" class="COLUMN_'+iter+'"><b>COLUMN # '+iter+'</b></td>');
                  var labelname = "Show COLUMN #" +iter;
            var create = $('<input type="checkbox" name="COLUMN_'+iter+'"     checked="checked"><label>'+labelname+'</label><br>');
           $(".noprint").append(create);
             }else{
                 trow.append('<td class="COLUMN_'+iter+'" contenteditable="true"></td>');
             }
         });
         iter += 1;       
}
$(window).load(function(){
$("input:checkbox").click(function(){
    var column = "."+$(this).attr("name");
    $(column).toggle();
});
});
</script>  
<style>
table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
}
td, th {
    border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;
}
tr:nth-child(even) {
    background-color: #dddddd;
}
</style>
</head>
<body>
<input type="button" value="Add new row"     onclick="addrow()"/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<input type="button" value="Add new column"     onclick="addcol()"/>
<br>
<br>
 <span class="noprint"> </span>
<form id="myform">
<table id="random" width="70%">
  <tr>
    <th>Name 1</th>
    <th>Name 2</th>
  </tr>
  <tr id="Row1">
    <td contenteditable="true">Entry 1</td>
    <td contenteditable="true">Entry 2</td>
  </tr>
  <tr>
    <td contenteditable="true">Entry 3</td>
    <td contenteditable="true">Entry 4</td>
  </tr>
</table>
</form>
</body>
</html>

函数addrow()
{    
第一行=$(“#第1行”);
第一行.clone().appendTo('random');
}
函数addcol()
{
var myform=$(“#myform”),
iter=1;
myform.find('tr')。每个(函数(){
var trow=$(本);
if(trow.index()==0){
trow.append('COLUMN#'+iter+'');
var labelname=“显示列#”+iter;
var create=$(''+labelname+'
'); $(“.noprint”).append(创建); }否则{ trow.append(“”); } }); iter+=1; } $(窗口)。加载(函数(){ $(“输入:复选框”)。单击(函数(){ var column=“.”+$(this.attr(“name”); $(列).toggle(); }); }); 桌子{ 字体系列:arial,无衬线; 边界塌陷:塌陷; } td,th{ 边框:1px实心#dddddd; 文本对齐:左对齐; 填充:8px; } tr:n个孩子(偶数){ 背景色:#dddddd; }              

名字1 名称2 条目1 条目2 条目3 条目4
我无法根据复选框状态隐藏列。有人能告诉我我做错了什么吗?

试试这个

$(“#myform”).on(“click”,”input[type=‘checkbox’]”,function(){
    var column = "."+$(this).attr("name");
    $(column).toggle();
});
由于稍后添加了复选框元素,因此需要侦听父元素上的单击事件,然后绑定到子元素。

试试这个

$(“#myform”).on(“click”,”input[type=‘checkbox’]”,function(){
    var column = "."+$(this).attr("name");
    $(column).toggle();
});

由于稍后添加了复选框元素,因此需要侦听父元素上的单击事件,然后绑定到子元素。

CSS可以这样做:通过类或id隐藏/显示行或列(如果是关于单个列或行)。使用checbox和radio进行演示,以显示可以将选择器添加到规则中,同时添加rowCSS可以做到这一点:通过类或id隐藏/显示行或列(如果是关于单个列或行)。使用checbox和radio进行演示,显示可以在添加行时将选择器包括到规则中