2017-09-12 30 views
1

我很新的JavaScript和AJAX。我想這樣做動態選擇選項列表。

enter image description here

,但有這樣的錯誤,當我嘗試使用谷歌Chrome瀏覽器開發(按F12)進行編譯。

enter image description here

這裏是我的腳本:

<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> 

,如果你知道什麼是錯我的代碼,請幫幫我。 感謝

+2

'var country_id = $(這個).val();' –

+0

你對錯誤信息有什麼不瞭解? –

回答

3

有一個錯字,最有可能:

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

更換$($this)$(this),因爲你沒有定義$thisthis(沒有$)是上下文。


而且,作爲改進,您可以通過刪除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> 
相關問題