9

以下のコードを使用して、ブートストラップ タグ入力フィルターを使用してタグを送信しています。タグにコンマを許可したいと考えています。助けてください。

$('.tagsinput').tagsinput({
        maxTags: 15,
        trimValue: true,
        confirmKeys: [13],
        allowDuplicates: false,
        onTagExists: function(item, $tag) {
            alert('Tag already exists')
            $tag.hide.fadeIn();
          }
    });
4

2 に答える 2

11

編集

最初の執筆時から、これにはとの 2 つのオプションが存在するように見えます。したがって、またはができるはずです。デフォルトはまだです。delimiterdelimiterRegex.tagsinput({ delimiter: '|' }).tagsinput({ delimiterRegex: /\s+/ }),

元の投稿

そのためのオプションはないため、プラグインのコードを変更する必要があります。bootstrap-tagsinput.js の 87 行目は文字で分割されてい,ます。;やなどの別の文字に変更できます|。拡張性を高めたい場合は、 に追加splitOn: ','defaultOptions、87 行目を に変更しますvar items = item.split(self.options.splitOn);self.options.splitOn &&上記のステートメントに追加することもできifます。これにより、分割するものが何もないときに分割しようとしなくなります。

したがって、コードの変更は次のようにする必要があります。

// Line 4
var defaultOptions = {
    splitOn: ','
    // ...
};

// Line 86
if (self.options.splitOn && typeof item === "string" && this.$element[0].tagName === 'INPUT') {
  var items = item.split(self.options.splitOn);
  // ...
}

を使用し続けたいconfirmKeys: [ 13 ]と思うでしょうし、おそらく<select multiple></select>an の代わりにa を使用し<input />て、コンマ区切りの文字列の代わりに配列を取得したいと思うでしょう。$(".tagsinput").val();

ここに例があります。

于 2015-05-10T17:25:42.453 に答える