0

使用しています

http://wilker-dev.com/jquery-multiselect/オートコンプリート プラグイン。

このプラグインのチェックボックスのオンクリックの追加イベントを値でトリガーしたいと思います。

どうすればできますか?

これが私のコードです

$('.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 に答える