2012-11-19 39 views
0

我有3個組合框(選擇),我需要啓用第三個,只要我從第一個選項中選擇。組合 - 選擇啓用/禁用

  • 類別(啓用)
  • 子類別(禁用)
  • 葡萄(禁用)

如果讓我選擇Winescategories我需要啓用grapes

$('#subcategories').attr('disabled','disabled'); 
$('#grapes').attr('disabled','disabled'); 

$("#categories").change(function() { 
$("#categories option:selected").each(function() { 
    var v_elegido=$(this).val();  
    $('#subcategories').removeAttr('disabled'); 

    if($(this).val() == "Vinos") { 
     $('#grapes').removeAttr('disabled'); 
    } else { 
     $('#grapes').attr('disabled','disabled'); 
    } 

    $.post("subcategories.php", { elegido: v_elegido }, function(data){ 
     $("#subcategories").html(data); 
    }); 


}); 




<?php if ($campo == 'varietales') { ?>  

    <div class="col_texto" align="right"><?php echo $campo ?>:&nbsp;</div> 
    <div id="varietal" style="visibility:visible;"> 
     <select name="varietales" id="varietales"> 
     <option value="0">-</option> 
     <?php 
      $conn = DataBase::getInstance(); 
       $rel=false; 
       $relacion='_'.$campo; 
       $conn->setQuery('SELECT * FROM `_'.$campo.'` ORDER BY id ASC'); 
       if ($conn->len()==0){ 
        $rel=true; 
        $relacion=$campo; 
        $conn->setQuery('SELECT * FROM `'.$campo.'` ORDER BY id ASC'); 
       } 
       if ($conn->len()==0){ 
        $rel=true; 
        $relacion=$campo.'s'; 
        $conn->setQuery('SELECT * FROM `'.$campo.'s` ORDER BY id ASC'); 
       } 
       if ($conn->len()>0){ 
       $rs = $conn->loadObjectList(); 
       foreach($rs as $valor){?> 
      <option value="<?php echo $valor->id ?>"><?php echo $valor->titulo ?></option> 
      <?php 
       }}?> 
      </select> 
     </div>  
     <?php } else { ?> 
    <?php if ($campo == 'bodegas') { ?>  

    <div class="col_texto" align="right" style="visibility:visible;"><?php echo $campo ?>:&nbsp;</div> 
    <div> 
     <select name="bodegas" id="bodegas"> 
     <option value="0">-</option> 
     <?php 
      $conn = DataBase::getInstance(); 
       $rel=false; 
       $relacion='_'.$campo; 
       $conn->setQuery('SELECT * FROM `_'.$campo.'` ORDER BY id ASC'); 
       if ($conn->len()==0){ 
        $rel=true; 
        $relacion=$campo; 
        $conn->setQuery('SELECT * FROM `'.$campo.'` ORDER BY id ASC'); 
       } 
       if ($conn->len()==0){ 
        $rel=true; 
        $relacion=$campo.'s'; 
        $conn->setQuery('SELECT * FROM `'.$campo.'s` ORDER BY id ASC'); 
       } 
       if ($conn->len()>0){ 
       $rs = $conn->loadObjectList(); 
       foreach($rs as $valor){?> 
      <option value="<?php echo $valor->id ?>"><?php echo $valor->titulo ?></option> 
      <?php 
       }}?> 
      </select> 
     </div>  
     <?php } else { ?> 

    <?php if ($campo == 'subcategorias') { ?>  

    <div class="col_texto" align="right"><?php echo $campo ?>:&nbsp;</div> 
    <div> 
     <select name="<?php echo $campo ?>" id="<?php echo $campo ?>"> 
     <option value="0">-</option> 
     <?php 
      $conn = DataBase::getInstance(); 
       $rel=false; 
       $relacion='_'.$campo; 
       $conn->setQuery('SELECT * FROM `_'.$campo.'` ORDER BY id ASC'); 
       if ($conn->len()==0){ 
        $rel=true; 
        $relacion=$campo; 
        $conn->setQuery('SELECT * FROM `'.$campo.'` ORDER BY id ASC'); 
       } 
       if ($conn->len()==0){ 
        $rel=true; 
        $relacion=$campo.'s'; 
        $conn->setQuery('SELECT * FROM `'.$campo.'s` ORDER BY id ASC'); 
       } 
       if ($conn->len()>0){ 
       $rs = $conn->loadObjectList(); 
       foreach($rs as $valor){?> 
      <option value="<?php echo $valor->id ?>"><?php echo $valor->titulo ?></option> 
      <?php 
       }}?> 
      </select> 
    </div>   


     <?php } else { ?> 



     <div class="col_texto" align="right"><?php echo $campo ?>:&nbsp;</div> 
     <div> 
     <select name="categorias" id="categorias"> 
     <option value="0">-</option> 
     <?php 
      $conn = DataBase::getInstance(); 
       $rel=false; 
       $relacion='_'.$campo; 
       $conn->setQuery('SELECT * FROM `_'.$campo.'` ORDER BY id ASC'); 
       if ($conn->len()==0){ 
        $rel=true; 
        $relacion=$campo; 
        $conn->setQuery('SELECT * FROM `'.$campo.'` ORDER BY id ASC'); 
       } 
       if ($conn->len()==0){ 
        $rel=true; 
        $relacion=$campo.'s'; 
        $conn->setQuery('SELECT * FROM `'.$campo.'s` ORDER BY id ASC'); 
       } 
       if ($conn->len()>0){ 
       $rs = $conn->loadObjectList(); 
       foreach($rs as $valor){?> 
      <option value="<?php echo $valor->id ?>"><?php echo $valor->titulo ?></option> 
      <?php 
       }}?> 
      </select> 
      </div> 

     <?php } ?>  
     <?php } ?>   
     <?php } ?> 

回答

0

因此所有你需要做的是獲得val ..並相應地設置禁用屬性

$("#categories").change(function(){ 
    $('#grapes').prop('disabled',$(this).val() != 'Vinos'); 
}); 

這是假設你有值的選項和第三個選項中,你首先要選擇是「比諾斯」

.prop()也設置禁用的性能,因爲jQuery的1.6+

的首選方法

的.prop()方法應該被用來設置殘疾人和檢查,而不是.attr()方法

+0

感謝您的幫助布魯諾,但我t不工作:/ – Maru

+0

@Maru什麼不工作?你可以創建一個jsfiddle來顯示問題是什麼? –

+0

我編輯了我的代碼並添加了我的組合。 選項「Vinos」保持禁用 – Maru