0

3 つのコンボボックス (選択) があり、最初のオプションを選択した場合に 3 番目のコンボボックスを有効にする必要があります。

  • カテゴリ (有効)
  • サブカテゴリ (無効)
  • ぶどう (無効)

選択Winesした場合categories、有効にする必要があります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 } ?>  
4

1 に答える 1

0

したがって、必要なのは、val を取得し、それに応じて無効なプロパティを設定することだけです

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

これは、オプションの値があり、最初に選択した 3 番目のオプションが「Vinos」であると仮定しています。

.prop()は、jQuery 1.6+ 以降、無効なプロパティを設定するための推奨される方法でもあります

.prop() メソッドを使用して、.attr() メソッドの代わりに無効化およびチェックを設定する必要があります。

于 2012-11-19T17:21:20.513 に答える