8

jquery プラグイン Tokeninput を使用しています。ユーザーが重複した値を入力できないようにする必要があります。Js コードは次のとおりです。

$(document).ready(function () {
    // Configure Tags
    $('#Tags').tokenInput(tagSource(), 
    {
        prePopulate: selectedTags(),
        theme: "facebook",
        propertyToSearch: "Code",
        preventDuplicates: true
     });

    function tagSource() {
        var data = [];
        @if (Model.SourceTags != null && Model.SourceTags.Count() > 0) {
            <text>
                data = @(Html.Raw(Model.SourceTags));
            </text>
        }
        return data;
    }

    function selectedTags() {
        var selectedData = [];
         @if (Model.SelectedTags != null && Model.SelectedTags.Count() > 0) {
            <text>
                selectedData = @(Html.Raw(Model.SelectedTags));
            </text>
        }
        return selectedData;
    }
});

同じアイテムをもう一度選択すると、入力フィールドの既存のアイテムが強調表示され、何も追加されません。

また、別のアイテムを選択すると、最初のアイテムが強調表示され、何も追加されません。

何か案が?

ありがとう

4

2 に答える 2

8

まだこの問題が発生している場合は、何が起こっているのかわかるかもしれません。TokenInput は、データ オブジェクトの「id」属性が正確に「id」と綴られていることを前提としています (小文字に注意してください)。id 属性のスペルが異なる場合、説明したことが起こります。ご参考までに、これは add_token 関数で発生します (v1.6.0 tokeninput.js の js ファイルの 495 行目)。

于 2012-12-17T20:33:13.707 に答える