Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 如何使用Jquery创建带有复选框的html按钮?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何使用Jquery创建带有复选框的html按钮?

Javascript 如何使用Jquery创建带有复选框的html按钮?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一张有4个复选框的桌子。让我们用标题、地址、邮政编码和电子邮件来表达 <table class="mytable"> <tbody> <tr> <td> <input type="checkbox" value="title"> title </td> <td> <input type="checkbox" value="adress

我有一张有4个复选框的桌子。让我们用标题、地址、邮政编码和电子邮件来表达

<table class="mytable">
         <tbody>
         <tr>
         <td> <input type="checkbox" value="title"> title </td>
        <td> <input type="checkbox" value="adress">  Adress </td>
        <td> <input type="checkbox" value="postalcode">  Postal Code </td>
        <td> <input type="checkbox" value="email">  Email </td>
         </tr>
</table>

标题
地址
邮政编码
电子邮件
我有另一个类为“myfilters”的div,当上述复选框均未选中时,该类将被隐藏

<div class="myfilters">
 <button type="button" class="btn btn-default btn-sm"> Title </button>

 <button type="button" class="btn btn-default btn-sm"> Adress</button>       
</div>

标题
地址
我的问题是,当用户选中表中的“标题”和“地址”复选框时,如何实现 然后在要动态创建的div“myfilters”中,按钮“Title”和按钮“Address

试试这个:

$(function(){
  $('.mytable').on("change","input[type=checkbox]",function(){
      if($(this).is(':checked'))
      {
        var button = '<button type="button" class="btn btn-default btn-sm" id="'+$(this).val()+'">'+$(this).parent().text()+'</button>';
        $('.myfilters').append(button);
      }
      else
      {
         $('.myfilters').find('button[id="'+$(this).val()+'"]').remove();
      }
  });
});
$(函数(){
$('.mytable')。在(“更改”、“输入[type=checkbox]”上,函数(){
如果($(this).is(':checked'))
{
var按钮=“”+$(this.parent().text()+“”;
$('.myfilters').append(按钮);
}
其他的
{
$('.myfilters').find('button[id=“'+$(this.val()+'']”).remove();
}
});
});

试试这个:

$(function(){
  $('.mytable').on("change","input[type=checkbox]",function(){
      if($(this).is(':checked'))
      {
        var button = '<button type="button" class="btn btn-default btn-sm" id="'+$(this).val()+'">'+$(this).parent().text()+'</button>';
        $('.myfilters').append(button);
      }
      else
      {
         $('.myfilters').find('button[id="'+$(this).val()+'"]').remove();
      }
  });
});
$(函数(){
$('.mytable')。在(“更改”、“输入[type=checkbox]”上,函数(){
如果($(this).is(':checked'))
{
var按钮=“”+$(this.parent().text()+“”;
$('.myfilters').append(按钮);
}
其他的
{
$('.myfilters').find('button[id=“'+$(this.val()+'']”).remove();
}
});
});

这就是您所需要的(注意,我已经为复选框添加了ID):


标题
地址
邮政编码
电子邮件
$(文档).ready(函数(){
$(“#c1”)。单击(函数(){
$(“.myfilers”)。附加(“标题”);
});
$(“#c2”)。单击(函数(){
$(“.myfilers”)。附加(“地址”);
});
$(“#c3”)。单击(函数(){
$(“.myfilers”)。附加(“邮政编码”);
});
$(“#c4”)。单击(函数(){
$(“.myfilers”)。附加(“电子邮件”);
});
});
这就是您所需要的(注意,我已经为复选框添加了ID):


标题
地址
邮政编码
电子邮件
$(文档).ready(函数(){
$(“#c1”)。单击(函数(){
$(“.myfilers”)。附加(“标题”);
});
$(“#c2”)。单击(函数(){
$(“.myfilers”)。附加(“地址”);
});
$(“#c3”)。单击(函数(){
$(“.myfilers”)。附加(“邮政编码”);
});
$(“#c4”)。单击(函数(){
$(“.myfilers”)。附加(“电子邮件”);
});
});

不要动态添加按钮。在HTML中创建它们,但使用CSS隐藏它们。然后单击相应的复选框时显示它们

$(“:复选框”)。单击(函数(){
$(“#”+this.value).toggle(this.checked);
});
.btn{
显示:无;
}

标题
地址
邮政编码
电子邮件
标题
地址
邮政编码
电子邮件

不要动态添加按钮。在HTML中创建它们,但使用CSS隐藏它们。然后单击相应的复选框时显示它们

$(“:复选框”)。单击(函数(){
$(“#”+this.value).toggle(this.checked);
});
.btn{
显示:无;
}

标题
地址
邮政编码
电子邮件
标题
地址
邮政编码
电子邮件
这是一个小提琴演示

这是一个小提琴演示


是否要在选中复选框标题后添加按钮标题?可以使用.append()在选中复选框标题后是否要添加按钮标题?可以使用.append()+1,此解决方案将比正在创建html并将其附加到DOM的js脚本运行得更快。+1,此解决方案的运行速度将快于正在创建html并将其附加到DOM的js脚本。
 var myNull=null; // ignore this line