2017-05-22 53 views
-1

如果未選擇prov單選按鈕,我想禁用下拉菜單。如果選擇prov,我只想啓用它。根據單選按鈕禁用下拉菜單

我創建了它的演示,但它不起作用,我不知道爲什麼。

HTML:

<td colspan="4"> 
    <input type="radio" name="editList" id="prov"value="Prov">Prov 
    <input type="radio" name="editList" id ="user"value="User">User 
    <input type="radio" name="editList" id="suc "value="Suc">Suc 
<select id="cuadrilla" class="form-control select2 select2-accessible" aria-hidden="true"> 
<option value="1 Year" selected="selected">1 Year</option> 
<option value="2 Years">2 Years</option> 
<option value="3 Years">3 Years</option> 
</select>     
</td> 

JS

$('input:radio[name="editList"]').change(function() { 
      if ($(this).val() == prov) { 
       $('#cuadrilla').attr('disabled', true); 
      } else 
       $('#cuadrilla').removeAttr('disabled'); 
     }); 

JsFiddle

+0

考慮使用'prop('disabled',true)/ prop('disabled',false)'而不是'attr/removedAttr'。它在邏輯上更有意義。這樣你就可以像prop('disabled,$(this).val()==='Prov')那樣做。 –

回答

0

您與您的if/else塊你的代碼有一些語法錯誤。另外,你引用的單選按鈕的ID爲 「省」,而不是價值Proveedor

$(document).ready(function() { 
 

 
    $('input:radio[name="editList"]').click(function() { 
 
    if ($(this).val() == "Proveedor") { 
 
     $('#cuadrilla').attr('disabled', true); 
 
    } else { 
 
     $('#cuadrilla').attr('disabled', false); 
 
    } 
 
    }); 
 
    
 
    $('input:radio[name="editList"]')[0].click(); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<input type="radio" name="editList" id="prov" value="Proveedor" />Proveedor 
 
<input type="radio" name="editList" id="user" value="Usuario" />Usuario 
 
<input type="radio" name="editList" id="suc " value="Sucursal" />Sucursal 
 
<select id="cuadrilla" class="form-control select2 select2-accessible" aria-hidden="true"> 
 
<option value="1 Year" selected="selected">1 Year</option> 
 
<option value="2 Years">2 Years</option> 
 
<option value="3 Years">3 Years</option> 
 
</select>

+0

如果我想在開始時禁用它並啓用它,那麼只有當我點擊「Proveedor」時,如果它的文檔類似document.ready不起作用,我想用禁用選項啓動它 – Beba

+0

trigger click()...' $('input:radio [name =「editList」]')。click(function(){})。click()' – epascarello

+0

已更新的代碼片段使其以disabled選項開頭。 – Woodrow

0

您需要使用引號 '箴言':

$('input:radio[name="editList"]').change(function() { 
      if ($(this).val() == 'Prov') { 
       $('#cuadrilla').attr('disabled', true); 
      } else 
       $('#cuadrilla').removeAttr('disabled'); 
     });