jquery取消选中带链接的复选框

时间:2013-07-25 03:09:31

标签: jquery css checkbox hyperlink

请咨询,我想创建标签。我在div中有一个输入字段,在另一个div中有一个多个复选框。我想添加标签点击复选框。标签有一个关闭按钮,删除该标签也取消选中特定的复选框。

例如,我有汽车,时尚,医疗保健,教育等复选框。键入输入框添加标签,然后按Enter键检查复选框。

$(document).ready(function() {
var $list = $("#itemList");

$(".chkbox").change(function() {
    var a = this.value;
    if (this.checked) {
        $list.append('<li><a href="#">' + a + '</a></li>');
    }
    else {
        $("#itemList li:contains('"+a+"')").remove();
    }
})
$('div a').live('click', function(ev){
    alert("hi");
});


<div id="tab1" class="tab-pane">
    <input type="checkbox" class="chkbox" value="101">  This is 101
    <input type="checkbox" class="chkbox" value="102">  This is 102
    <input type="checkbox" class="chkbox" value="103">  This is 103
    <input type="checkbox" class="chkbox" value="104">  This is 104
</div>
<div id="items">
    <ul id="itemList">
    </ul>
</div>

plesae帮助或建议。

2 个答案:

答案 0 :(得分:2)

上午

试试这个

var $list = $("#itemList");

$(".chkbox").change(function() {
    var a = this.value;
    if (this.checked) {
        $list.append('<li><a href="#">' + a + '</a><button class="closebutton" value="'+a+'">X</button></li>');
    }
    else {
        $("#itemList li:contains('"+a+"')").remove();
    }
})
$(document).on('click','div a',function(ev){
   alert($(this).text());
});
$(document).on('click','.closebutton',function(){
   var b = this.value;
   $("#itemList li:contains('"+b+"')").remove();
    $(".chkbox[value="+b+"]").removeAttr('checked');
});

这将创建一个关闭按钮,也可以单击..

http://jsfiddle.net/jDBsw/3/

答案 1 :(得分:1)

您的.change可能会出现问题。试试

$(document).on('click','.chkbox', function() {
    var a = $(this).val();
    // same code as above
});

在最新版本的JQuery中也不推荐使用.live。不要使用它。