2017-03-28 3 views
0

jQuery 유효성 검사 플러그인이 사용자 정의 메소드에서 작동하는 방식을 이해하는 데 어려움을 겪고 있습니다. 입력 양식 또는 정적 가치는 있지만 내 것은 조금 다릅니다.jQuery 유효성 검사 플러그인 "total_cost"가 필드의 "user_credit"값보다 큰지 확인합니다.

2 개의 div 값과 2 개의 값이 있는데, 하나는 "user_credit"값이고 사용자가 신용 한도를 저장합니다. 또 다른 옵션은 total_cost로 일부 특수 옵션의 총 비용을 저장합니다.

내가 가진 모든 가이드에서 발견하지 못했던 문제점과 차이점은 "total_cost"가 이전 체크 박스 값을 기반으로 동적으로 변경된다는 것입니다.

<div class="row"> 
       <div class="col-lg-12"> 
        <label for="link_to_video">Link to video <i class="fa fa-question-circle" aria-hidden="true" data-toggle="tooltip" title="Add link to your product video. Youtube videos will be automatically embedded"></i></label> 
        <div class="form-group"> 
         <div class="input-group"> 
          <span class="input-group-addon"> 
           <input type="checkbox" name="show_video" id="show_video" value="1" data-price="40"> 
          </span> 
          <input type="text" class="form-control" name="link_to_video" id="link_to_video" placeholder="https://youtube.com/watch?v"> 
         </div> 
        </div> 
       </div> 
      </div> 

      <div class="row"> 
       <div class="col-lg-12"> 
        <label for="link_to_product">Link to product <i class="fa fa-question-circle" aria-hidden="true" data-toggle="tooltip" title="Add link to your product"></i></label> 
        <div class="form-group"> 
         <div class="input-group"> 
          <span class="input-group-addon"> 
           <input type="checkbox" name="show_product" id="show_product" value="1" data-price="40"> 
          </span> 
          <input type="text" class="form-control" name="link_to_product" id="link_to_video" placeholder="http://yourwebsite.com/product-page"> 
         </div> 
        </div> 
       </div> 
      </div> 

      <div class="row"> 
       <div class="form-inline"> 
        <div class="col-lg-12"> 
         <h4>Your credit <span class="label label-default" id="user_credit">2000</span></h4> 
        </div> 
       </div> 
      </div> 

      <div class="row"> 
       <div class="form-inline"> 
        <div class="col-lg-12"> 
         <h4>Total cost <span class="label label-default" id="total_price">0</span></h4> 
        </div> 
       </div> 
      </div> 

을 그리고 여기에 체크 박스 중 일부는 위에서 확인 될 때 ​​"TOTAL_PRICE"값을 변경하는 코드의 일부입니다

여기에 그에서 코드의 일부입니다.

$inputs=$('#show_product,#show_video').change(function(){ 
    var total=0; 
    $inputs.filter(':checked').each(function(){ 
     total+= $(this).data('price'); 
    }); 
    $("#total_price").text(total); 
}); 

그리고 또 다른 한가지는 내가

<form action="" name="createListingForm" id="createListingForm" method="POST" role="form" data-toggle="validator" enctype="multipart/form-data"> 

여기 https://jqueryvalidation.org/documentation/에서 문서를 다음의 한 형태 그 자체의 활성화 및 가이드 많이 검색하는 동안 모든 가이드는 자바 스크립트 유효성 검사기를 활성화한다는 것입니다하지만 행운 해결책을 찾는 것.

답변

0

먼저 이 아닌span 컨테이너 내의 텍스트의 유효성을 검사 할 수 있습니다. 이 플러그인을 사용하면 textarea, select, 특정 유형의 input 요소 및 contenteditable 속성 만 유효성을 검사 할 수 있으며 모두 이어야합니다.form 컨테이너 내에 있어야합니다.

두 번째로 이러한 양식 입력 중 하나의 값을 동적으로 변경하면 .valid() 메서드를 호출하여이 입력에 대한 유효성 검사를 프로그래밍 방식으로 트리거하기 만하면됩니다.

$('#myinput').valid(); // trigger a validation test of #myinput element