0

私は、ブートストラップ付きのタグ入力機能を手に入れようとしています。私は手紙に書類を従おうとしたが、それを働かせることができなかった。入力は常にタグだけでなく値のリストとして表示される。だから私は明らかに動作していたJSのフィーリンの例をコピーしようとしましたが、コードエディタにコードをコピーするときにも同じことが起こります。私は、必要なライブラリへのすべての参照を含めたが、間違ったことを明確にしていると思う。ここに私のテストコードは次のとおりです。ブートストラップで入力されたタグが動作しない

$(document).ready(function() { 
 
    $('#defaultForm') 
 
    .find('[name="cities"]') 
 
    // Revalidate the color when it is changed 
 
    .change(function(e) { 
 
     console.warn($('[name="cities"]').val()); 
 
     console.info($('#aa').val()); 
 
     console.info($("#aa").tagsinput('items')); 
 
     var a = $("#aa").tagsinput('items'); 
 
     console.log(typeof(a)); 
 
     console.log(a.length); 
 
     $('#defaultForm').bootstrapValidator('revalidateField', 'cities'); 
 
    }) 
 
    .end() 
 
    .find('[name="cities1"]') 
 
    // Revalidate the color when it is changed 
 
    .change(function(e) { 
 
     console.warn($('[name="cities1"]').val()); 
 
     console.info($('#aa1').val()); 
 
     console.info($("#aa1").tagsinput('items')); 
 
     var a = $("#aa1").tagsinput('items'); 
 
     console.log(typeof(a)); 
 
     console.log(a.length); 
 
     $('#defaultForm').bootstrapValidator('revalidateField', 'cities1'); 
 
    }) 
 
    .end() 
 
    .bootstrapValidator({ 
 
     excluded: ':disabled', 
 
     feedbackIcons: { 
 
     valid: 'glyphicon glyphicon-ok', 
 
     invalid: 'glyphicon glyphicon-remove', 
 
     validating: 'glyphicon glyphicon-refresh' 
 
     }, 
 
     fields: { 
 
     cities: { 
 
      validators: { 
 
      notEmpty: { 
 
       message: 'Please enter at least one city you like the most' 
 
      } 
 
      } 
 
     }, 
 
     cities1: { 
 
      validators: { 
 
      callback: { 
 
       message: 'Please choose 2-4 color you like most', 
 
       callback: function(value, validator) { 
 
       // Get the selected options 
 
       var options = validator.getFieldElements('cities1').tagsinput('items'); 
 
       // console.info(options); 
 
       return (options !== null && options.length >= 2 && options.length <= 4); 
 
       } 
 
      } 
 
      } 
 
     } 
 
     } 
 
    }) 
 
    .on('success.form.bv', function(e) { 
 
     // Prevent form submission 
 
     e.preventDefault(); 
 
    }); 
 
});
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-validator/0.5.3/css/bootstrapValidator.min.css"> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-validator/0.5.3/js/bootstrapValidator.min.js"></script> 
 

 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css"> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta/js/bootstrap.min.js"></script> 
 

 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.css"> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.js"></script> 
 

 

 

 
<form id="defaultForm" method="post" class="form-horizontal"> 
 
    <div class="form-group"> 
 
    <label class="col-lg-3 control-label">Cities</label> 
 
    <div class="col-lg-5"> 
 
     <input type="text" name="cities" id="aa" class="form-control" value="Amsterdam,Washington,Sydney,Beijing,Cairo" data-role="tagsinput" /> 
 
    </div> 
 
    </div> 
 
    <div class="form-group"> 
 
    <label class="col-lg-3 control-label">Cities 1</label> 
 
    <div class="col-lg-5"> 
 
     <input type="text" name="cities1" id="aa1" class="form-control" value="Amsterdam1,Washington1,Sydney1,Beijing1,Cairo1" data-role="tagsinput" /> 
 
    </div> 
 
    </div> 
 
    <div class="form-group"> 
 
    <div class="col-lg-5 col-lg-offset-3"> 
 
     <button type="submit" class="btn btn-default">Validate</button> 
 
    </div> 
 
    </div> 
 
</form>

これは怒っ私を運転しているよう任意のポインタをいただければ幸いです!

+0

あなたのための答えが追加されました。 –

+0

あなたはそれを修正することになった私は私の答えの下にコメントを追加しましたあなたが隠されたラベルのためにあなたを助けるかどうか参照してください –

答えて

0

I believe I have included all the references to the required libraries but clearly doing something wrong.

最初の部分が正しくありません、2番目は正しいです。

すべてのあなたのスクリプトが依存している主な

  1. jqueryライブラリが欠落しているので、あなたはlibrariesへのすべての参照を追加していません。
  2. 私はあなたがドロップダウンでbootstrapを使用していることを確認し、彼らが正しく動作するpopper.jsを必要とし、あなたがF12を押してconsoleに気付いた場合、あなたはあなたがすべて含まれている必要があり、エラー

    Uncaught Error: Bootstrap dropdown require Popper.js (https://popper.js.org)

を受信します依存関係が正しく動作することを期待する前に、​​リンクのpopperを含めるために umd以外のバージョンを含めないでください。​​リンクを使用している場合、他のバージョンに問題があります。 hereを参照してください。 rderとそれが動作します

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-validator/0.5.3/css/bootstrapValidator.min.css"> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css"> 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.css"> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.13.0/umd/popper.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-validator/0.5.3/js/bootstrapValidator.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta/js/bootstrap.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.js"></script> 
+0

これはありがとう!あなたの答えごとに参照して試してみましたが、今は非常に不思議です。テキストを入力してタブを押すと入力が消えます。これは明らかに入力が行われるべきスペースとして何かが行われたが、タグは表示されません。白いスペース – DaveB1

+0

@ DaveB1これは恐らくあなたが使用しているブートストラップソースです。白い背景を持つ '.label-info'クラスは頭やカスタム' CSS'ファイルにカスタムクラスを追加し、 'bootstrap.min.css'の後にロードします。私はあなたに '4.0 beta'ではなく' bootstrap 3'を使うことをお勧めします。あなたは何もする必要はありません。[BOOTSTRAP 3 DEMO](http://jsfiddle.net/buttflattery/AP9Ns/36/) –

関連する問題