2013-04-12 85 views
0

正在使用jquery多选自动完成触发器

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(); 
      } 
     }); 
    } 
}); 

其添加数据除了密切的联系和添加和删除的检查和复选框取消选中的...

回答

0

你可以尝试的解决方法就像

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

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

当我检查源代码

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

只是玩,看看你是否可以手动绑定这一点。

+0

谢谢...我已经尝试过这种方法,它附加数据,但不是closebutton来清除它... – Arul

+0

@Arul:我也为'closebutton'添加了锚。可能会试一试,让我们知道 – xyz

+0

@karan:将我的代码添加到我的问题中... closebutton类不适用于追加的数据... – Arul

相关问题