2014-09-30 107 views
0

我試圖創建一個腳本,當某些東西被選中時,一個複選框將被選中,一些將被禁用。這裏是我的代碼:Rails jQuery:選中某些東西時選中複選框

<script type="text/javascript"> 
$(document).ready(function() { 

    $('#myselect').change(function(){ 
     if (!$(this.val() == "0")){ 
      $('#boss').prop('checked', true); 
      $('#manager').attr('disabled', true); 
      $('#crew').attr('disabled', true); 
     } 
    }); 
}) 
</script> 

<div> 
    <%= f.label :company_code, "Company:" %> 
    <select id="myselect"> 
    <option value = "0">Mcdo</option> 
    <option value = "5">Burger King</option> 
    <option value = "1">KFC</option> 
    </select> 
</div> 

<div> 
    Select Role: 
</div> 
    <br /> 
    <div> 
    <p><%= f.check_box :boss, :id => 'boss' %>Boss</p> 
    <p><%= f.check_box :manager, :id => 'manager' %>Manager</p> 
    <p><%= f.check_box :crew, :id => 'crew' %>Crew</p> 
    </div> 
+0

使用'.prop('disabled',true);' – 2014-09-30 03:03:04

回答

1

​​3210

您可能還需要處理,其中這些輸入已啓用的情況下,可能會像

$(document).ready(function() { 
 
    $('#myselect').change(function() { 
 
    var state = $(this).val() == "0"; 
 
    if (!state) { 
 
     $('#boss').prop('checked', true); 
 
    } 
 
    $('#manager, #crew').prop('disabled', !state); 
 
    }); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select id="myselect"> 
 
    <option value="0">Mcdo</option> 
 
    <option value="5">Burger King</option> 
 
    <option value="1">KFC</option> 
 
</select> 
 
<input type="checkbox" id="boss" /> 
 
<input type="checkbox" id="manager" /> 
 
<input type="checkbox" id="crew" />

0

你有語法錯誤r在此行if (!$(this.val() == "0")){並將其更改爲if (!$(this).val() == "0") {