1

Jquery UI tag-itウィジェットの場合、すべてのタグを含むclass ="ui-widget-contentui-autocomplete-input"テキストボックスへのテキスト入力を無効にします。

私の目的は、特定の人が不適切なタグを削除できるようにすることですが、タグ(自動生成される)を追加することはできません。

tag-it .jsファイルを編集し、そのフィールドにdisable = "disable"を追加するのが最善ですか?そうすると、そのフィールドの内容が送信されなくなりませんか?または、関連する非表示フィールドが送信されている限り、それは重要ですか?

または、tag-itファイル自体を変更せずにこれを行うためのより良い方法(オーバーライドスタイル?)はありますか?

ありがとう、

ダグ

4

3 に答える 3

2

tag-it.jsで、次の行を置き換えました。

this._tagInput = $('<input type="text"').addClass('ui-widget-content');

これとともに:

this._tagInput = $('<input type="text" readonly="readonly"/>').addClass('ui-widget-content');

readonly="readonly"属性を追加します。これには、入力を防ぐという望ましい効果がありましたが、それでもユーザーは不適切な自動生成されたタグを削除できました。

于 2012-09-30T13:09:08.463 に答える
1

元の作品と同じ質問がありました。しかし、質問は2年半前なので、tag-itのバージョンが変更されています。受け入れられた回答は、次のように更新する必要があります

478行目あたりのtag-it.js:

から:

        if (this.options.readOnly){
            tag.addClass('tagit-choice-read-only');
        } 

に:

            if (this.options.readOnly){
            tag.addClass('tagit-choice-editable');
            // Button for removing the tag.
            var removeTagIcon = $('<span></span>')
                .addClass('ui-icon ui-icon-close');
            var removeTag = $('<a><span class="text-icon">\xd7</span></a>') // \xd7 is an X
                .addClass('tagit-close')
                .append(removeTagIcon)
                .click(function(e) {
                    // Removes a tag when the little 'x' is clicked.
                    that.removeTag(tag);
                });
            tag.append(removeTag);            
        }
于 2015-03-24T14:25:15.317 に答える
0

これは、[プロパティ]セクションのドキュメントがあるgitリポジトリのドキュメントの下にあります。

$( "#myTags")。data( "ui-tagit")。tagInput.addClass( "fancy"); //明らかに、クラスで何かをしたい場合は...

これは、私の個人的な実装スタイルでの以下の解決策に変換され、おそらくこれを機能させる唯一の方法です。

 $("#myTags").data("ui-tagit").tagInput.prop('disabled' , true); 

これは私があなたの質問を正しく理解している場合です。注:ReadOnlyによってタグが編集不能になることはありません。

タグを通過する限り、..を使用できます。

var x = $("#myTags").tagit("assignedTags");

,入力フィールドとして作成します。これにより、タグが(コンマ)で区切られることを意味する「singleFieldNode」が保証されます。そうすれば、それを解析することができます(commas(,)をオブジェクトに分割するか、またはどのように実行したいか)

PS:上記のスニペットのいずれかを適用するには、TagItを含むHTML要素の「id」に変更するだけで、コードは正しく機能します。JQuery TagIt v2.0

于 2017-10-28T09:33:25.560 に答える