0

これは私のコードです:

$("#AddFriendToGroup" + GroupID).tagit({
                    allowDuplicates: false,
                    readOnly: false,
                    autocomplete: { source: function (request, showChoices) {
                        $.ajax({
                            type: 'POST',
                            url: 'ChatPageTest.aspx/tagFriendAutocomplete',
                            data: "{'ClientID':'" + $("#UserID").val() + "','ClientName': '" + request.term + "'}",
                            contentType: 'application/json; charset=utf-8',
                            dataType: 'json',
                            success: function (data) {
                                returndData = data;
                                showChoices($.map(data.d, function (item) {

                                    return {
                                        label: item.split('-')[0],
                                        val: item.split('-')[1]
                                    }
                                }))
                            },
                            error: function (xhr) {
                                alert("responseText: " + xhr.responseText);
                            }
                        });
                    }
                    },
                    beforeTagAdded: function (event, ui) {

                        if ($.inArray(ui.tagLabel, returndData) == -1) return false;
                    },
                    minLength: 2
                }); // tagit

サーバ側 :

public static string[] tagFriendAutocomplete(int ClientID,string ClientName)
{
    List<string> Friends = new List<string>();
    string query = "select fr.FRIEND_ID,c.[USER_NAME] from clients c inner join friends fr on c.CLIENT_ID=fr.FRIEND_ID and fr.CLIENT_ID=" + ClientID + " and c.[USER_NAME] like '%" + ClientName + "%' ";

    DataTable dt = new SQLHelper(SQLHelper.ConnectionStrings.WebSiteConnectionString).getQueryResult(query);
    if (dt.Rows.Count > 0)
    { 
       for(int i=0;i<dt.Rows.Count;i++)
       {
          Friends.Add(string.Format("{0}-{1}",dt.Rows[i]["USER_NAME"], dt.Rows[i]["FRIEND_ID"]));
        }
    }

    return Friends.ToArray();
}

私の問題は、オートコンプリートの提案から新しいタグを追加しようとすると、新しいタグが追加されないことです。私の問題は beforeTagAdded 関数にあると思います。誰か助けてください。

4

1 に答える 1

0
.tagit("add", {label: 'tag', value: 12})

ドキュメントでこれを見つけましたチェックしてください

allowNewTagsまた、オプションを有効にする必要があるようですTRUE。おそらくこれがエラーの原因です。プラグインで許可されていないときに新しいタグを挿入しようとしている可能性があります。オプションも確認してください。

于 2013-04-11T09:39:49.000 に答える