0

我正在使用

http://wilker-dev.com/jquery-multiselect/自动完成插件。

我想触发这个插件的添加事件 onclick 带有值的复选框。

我该怎么做?

这是我的代码

$('.sampleCats').live('click',function(){
    var catName = $(this).data('name');
    var searchCatData = $("#searchCat").val();
    var ele = '<a class="bit bit-box" data-name="'+catName+'">'+catName+'<a class="closebutton"></a></a>';
    if($(this).is(':checked'))
    {
        $("#searchCatBox .jquery-multiselect").prepend(ele);
        if(searchCatData)
        {
            $("#searchCat").val(searchCatData+','+catName);
        }
        else
        {
            $("#searchCat").val(catName);
        }
    }
    else
    {
        searchCatData = searchCatData.split(',');
                    $("#searchCat").val(searchCatData.join(','));
        $("#searchCatBox .jquery-multiselect").find("a.bit-box").each(function() {
            if ($(this).data("name") === catName) {
                return $(this).remove();
            }
        });
    }
});

它添加除关闭链接以外的数据,并在选中和取消选中复选框时添加和删除...

4

1 回答 1

0

您可以尝试解决方法,例如

   $(".checkboxClss").click(function(){
      var htmlToAdd = '<a class="bit bit-box">'+this.value+'<a class="closebutton"></a></a>';
      $('.jquery-multiselect').append(htmlToAdd);
    }); 

当您添加任何元素时,此插件会将新的锚元素添加到具有类的 div 中,jquery-multiselect因此您可以执行相同操作而不是手动触发添加事件。
PS:我从来没有使用过这个插件,所以只是检查了源代码并想出了这个解决方法,只有在你没有得到任何其他合适的解决方案时才使用。

当我检查源代码时

close = $(document.createElement("a"));
        close.addClass("closebutton");
        close.click(__bind(function() {
          return this.remove(a.data("value"));
        }, this));
        a.append(close); 

随便玩一下,看看你是否可以手动绑定它。

于 2013-04-12T11:03:23.983 回答