1

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

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

$(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>

请帮助或建议。

4

2 回答 2

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/

于 2013-07-25T07:23:06.110 回答
1

问题可能出在您的 .change 上。尝试

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

.live 在最新版本的 JQuery 中也已弃用。不要使用那个。

于 2013-07-25T07:22:19.440 回答