2013-04-12 116 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

相關問題