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.

첫 번째 부분이 잘못되어 두 번째 부분이 잘못되었습니다. 메인

모든 스크립트가 종속 된
  1. jquery 라이브러리 누락 때문에

    당신은 libraries에 대한 모든 참조를 추가하지 않았습니다.

  2. 난 당신이 드롭 다운으로 bootstrap를 사용하고 있는지 확인하고 그들이 제대로 작동하려면 popper.js을 필요로하고 F12을 눌러 console에 발견하면 당신은 그래서 당신은 모두를 포함해야 오류

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

을 받게 될 것입니다 종속성이 올바르게 작동하기를 기대하기 전에, CDN 링크의 포퍼를 포함하는 경우 umd 버전을 포함하지 마십시오. CDN 링크를 사용할 때 다른 버전에 문제가있는 경우 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' 클래스는 head 클래스 나 커스텀'CSS' 파일에 커스텀 클래스를 추가하고'bootstrap.min.css' 다음에로드하십시오. '4.0 beta '대신'bootstrap 3'을 사용하면 아무 것도 할 필요가 없습니다. [BOOTSTRAP 3 DEMO] (http://jsfiddle.net/buttflattery/AP9Ns/36/)를 참고하십시오. –