2017-09-12 4 views
1

저는 javascript와 ajax에서 매우 새로 왔습니다. 이런 동적 선택 목록을 만들고 싶습니다.

enter image description here

하지만 난 구글 크롬 개발자에게 (보도 F12)를 사용하여 컴파일 할 때 오류가 같이있다. 당신이 알고있는 경우

<div class="container"> 

     <div class="row"> 
      <div class="col-md-offset-3 col-lg-6"> 
       <h1 class="text-center">Ajax & Codeigniter Select Box Dependent</h1> 
       <div class="form-group"> 
        <label for="country">Country</label> 
        <select class="form-control" name="country" id="country"> 
         <option value="">Select Country</option> 
         <?php foreach ($countries as $country) : ?> 
          <option value="<?php echo $country->country_id; ?>"><?php echo $country->country_name; ?></option> 
         <?php endforeach; ?> 
        </select> 
        </div> 
        <div class="form-group"> 
        <label for="pwd">Province:</label> 
        <select class="form-control" name="province" id="province" disabled=""> 
         <option value="">Select Province</option> 
        </select> 
        </div> 
      </div> 
     </div> 
     <!-- /.row --> 

    </div> 
    <!-- /.container --> 

    <!-- jQuery Version 1.11.1 --> 
    <script src="http://code.jquery.com/jquery-1.11.1.js"></script> 

    <!-- Bootstrap Core JavaScript --> 
    <script src="<?php echo base_url() ?>assets/js/bootstrap.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $('#country').on('change',function(){ 
       var country_id = $($this).val(); 
       if(country_id == '') 
       { 
        $('#province').prop('disabled',true); 
       } 
       else 
       { 
        $('#province').prop('disabled',false); 
       } 
      }); 
     }); 
    </script> 
</body> 

</html> 

내 코드에 어떤 문제가, 저를 도와주세요 :

enter image description here

여기 내 스크립트입니다. 감사

대부분의 아마
+2

'var country_id = $ (this) .val(); ' –

+0

오류 메시지에 대해 이해하지 못하는 점은 무엇입니까? –

답변

3

에이 라인 : 당신은 정의하지 않았기 때문에

$('#country').on('change',function(){ 
    var country_id = $($this).val(); 
    //    ^Remove this $ sign 
    ... 
}) 

$(this)$($this) 교체 $this. this (없이 $) 컨텍스트입니다.


또한, 개선, 당신이 수행하여 if와 반복적 인 코드를 제거 할 수 있습니다

$('#country').on('change',function(){ 
    var country_id = $(this).val(); 
    $('#province').prop('disabled', country_id == ''); 
}); 

을 또한 직접 수행 할 수 있습니다

$('#country').on('change',function(){ 
    $('#province').prop('disabled', this.value == ''); 
}); 
1

변화 오타가

var country_id = $($this).val(); 

var country_id = $(this).val(); 
1

시도
<script> 
       $(document).ready(function() { 
        $('#country').on('change', function() { 
         var country_id = $(this).val(); 
         if (country_id == '') { 
          $('#province').prop('disabled', true); 
         } 
         else { 
          $('#province').prop('disabled', false); 
         } 
        }); 
       }); 
      </script> 
관련 문제