如何使用Jquery创建带有复选框的html按钮
How to create html buttons with checkboxes with Jquery?
我有一个带有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>
我有另一个div类"myfilters",当没有选中上面的复选框时,它将被隐藏。
<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>
我的问题是,当用户选中表中的"title"answers"adress"复选框时,我如何实现然后在要动态创建的div"myfilters"中,按钮"Title"和按钮"Address"?
不要动态添加按钮。在HTML中创建它们,但使用CSS隐藏它们。然后在单击相应的复选框时显示它们。
$(":checkbox").click(function() {
$("#"+this.value).toggle(this.checked);
});
.btn {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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>
<div class="myfilters">
<button type="button" id="title" class="btn btn-default btn-sm"> Title </button>
<button type="button" id="adress" class="btn btn-default btn-sm"> Adress</button>
<button type="button" id="postalcode" class="btn btn-default btn-sm"> Postal Code</button>
<button type="button" id="email" class="btn btn-default btn-sm"> Email</button>
</div>
试试这个:
$(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();
}
});
});
演示
这就是您所需要的(注意,我已经添加了复选框的ID):
<table class="mytable">
<tr>
<td><input id="c1" type="checkbox" value="title">Title</td>
<td><input id="c2" type="checkbox" value="adress">Address</td>
<td><input id="c3" type="checkbox" value="postalcode">Postal Code</td>
<td><input id="c4" type="checkbox" value="email">Email</td>
</tr>
</table>
<script>
$(document).ready(function(){
$("#c1").click(function(){
$(".myfilers").append("<button>Title</button>");
});
$("#c2").click(function(){
$(".myfilers").append("<button>Address</button>");
});
$("#c3").click(function(){
$(".myfilers").append("<button>Postal Code</button>");
});
$("#c4").click(function(){
$(".myfilers").append("<button>Email</button>");
});
});
</script>
这是一个小提琴演示,fiddle演示点击此处
var myNull=null; // ignore this line
相关文章:
- javascript从选中的复选框中检索输入值,并在同一网页中显示多个html文件
- 如何将复选框值从 HTML 发送到 Node JS
- 使用 html 中的复选框切换表格上的颜色
- 多个复选框,如果正确,则更改背景图像(HTML/Javascript)
- 如果在 HTML/JavaScript 中选中了复选框,则填充单选按钮
- 根据签入的表单,在html电子邮件模板中将复选框标记为true
- 选中一个复选框后,使用html.checkbox自动禁用其他复选框
- 是否可以只使用CSS和HTML而不使用Javascript来完全自定义复选框
- 如何在HTML和JavaScript中检查复选框是否为真
- javascript/html 中的复选框
- 在复选框取消选中事件中从HTML下拉列表中删除项目
- 如何更改html中复选框的对齐方式
- 复选框将如何通过javascript触发html中的另一个输入元素
- ng动态生成的html/ionic复选框内的更改不绑定
- 选择多个复选框并将值分配给数组 - HTML/Javascript
- 带有复选框 (html) 的 If/Then 语句
- 任何一个输入所需的文本区域或 HTML 表单中的复选框
- 显示或隐藏基于复选框数据的 HTML 列表,Laravel 4
- 在运行时添加复选框并将其保存在 HTML 文件代码中
- 没有正确传递复选框-html表单的值(javascript)