0

https://github.com/webworka/Tagedit/が参考になります。

プログラムでアイテムを単純に追加しようとしています。

それを行う方法がわかりません-不足している機能はありますか?そうでない場合は、自分で追加する必要がありますか?

デモの例はhttp://tagedit.webwork-albrecht.de/にあります。この考え方は、StackOverflow がタグを実行する方法と同じです。項目を入力すると、オート コンプリート リストが検索され、ドロップダウンにいくつかのデフォルト値が表示されます。疑似入力ボックス領域内の空白をクリックして、カスタム要素を作成することもできます。Enter (エントリへの追加を完了するための指定されたボタン) を押すと、TagEdit.js は、入力リストに追加する前に isNew() などを実行します。

私がやりたいことは、入力リストに新しい要素をプログラムで追加することです (重複エントリを防ぐために TagEdit.js の isNew() 関数を保持しながら)。入力ボックスに新しいタグを追加します。

4

1 に答える 1

0

私はそれを機能させるために自分でハックすることに成功しました。

this.addNew = function (value) {
        var oldValue = (typeof value != 'undefined' && value.length > 0);
        var checkAutocomplete = oldValue == true? false : true;
        // check if the Value ist new
        console.log(value);
        var isNewResult = isNew(value, checkAutocomplete);
        if(isNewResult[0] === true || (isNewResult[0] === false && typeof isNewResult[1] == 'string')) {
            console.log('NEW: ' + value);

            if(options.allowAdd == true) {
                // Make a new tag in front the input
                html = '<li class="tagedit-listelement tagedit-listelement-old">';
                html += '<span dir="'+options.direction+'">' + value + '</span>';
                var name = baseName + '[]';
                html += '<input type="hidden" name="'+name+'" value="'+value+'" />';
                html += '<a class="tagedit-close" title="'+options.texts.removeLinkTitle+'">x</a>';
                html += '</li>';

                $('.tagedit-listelement-new').before(html);
            }
        } else { console.log('NOT NEW: ' + value)}
    };
return this;
于 2012-08-24T09:52:40.290 に答える