2012-11-19 3 views
0

J'ai une table avec des boutons radio, sur la première colonne, les options sont:jQuery vérifier un bouton radio sur le bouton radio suivant td groupe

  • '---'
  • 'No Stock'
  • 'Avec Stock'

Sur la deuxième colonne, les options sont:

  • '---'
  • 'No Stock'
  • 'Low'
  • 'Medium'
  • 'High'

Maintenant ce que je veux faire est, lorsque l'utilisateur a cliqué sur 'No Stock' sur le premier colonne, l'option radio «Pas de stock» sur la deuxième colonne doit être cochée.

Voici ce que je fais:

HTML:

<table border='1'> 

    <tr> 
     <td class="valign_top" style="text-align:left;"> 
      <div class="radio_field"> 
       <input type="radio" class="stock_avail" id="93_stock_avail_0" name="93_stock_avail" value="0" checked=""> --- 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="stock_avail" id="93_stock_avail_No" name="93_stock_avail" value="No"> No Stock 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="stock_avail" id="93_stock_avail_Yes" name="93_stock_avail" value="Yes"> With Stock 
      </div> 
     </td> 

     <td class="sa_sw_td valign_top" style="text-align:left;">      
      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="93_sa_sw" id="93_sa_sw_0" value="0" checked=""> --- 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="93_sa_sw" id="93_sa_sw_1" value="1"> No Stock 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="93_sa_sw" id="93_sa_sw_2" value="2"> Low 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="93_sa_sw" id="93_sa_sw_3" value="3"> Medium 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="93_sa_sw" id="93_sa_sw_4" value="4"> High 
      </div> 
     </td> 
    </tr> 


    <tr> 
     <td class="valign_top" style="text-align:left;"> 
      <div class="radio_field"> 
       <input type="radio" class="stock_avail" id="94_stock_avail_0" name="94_stock_avail" value="0" checked=""> --- 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="stock_avail" id="94_stock_avail_No" name="94_stock_avail" value="No"> No Stock 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="stock_avail" id="94_stock_avail_Yes" name="94_stock_avail" value="Yes"> With Stock 
      </div> 
     </td> 

     <td class="sa_sw_td valign_top" style="text-align:left;">      
      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="94_sa_sw" id="94_sa_sw_0" value="0" checked=""> --- 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="94_sa_sw" id="94_sa_sw_1" value="1"> No Stock 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="94_sa_sw" id="94_sa_sw_2" value="2"> Low 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="94_sa_sw" id="94_sa_sw_3" value="3"> Medium 
      </div> 

      <div class="radio_field"> 
       <input type="radio" class="sa_sw" name="94_sa_sw" id="94_sa_sw_4" value="4"> High 
      </div> 
     </td> 
    </tr> 

</table>​ 

JavaScript:

$(document).ready(function(){ 
    $('.stock_avail').click(function(){ 

     var value = $(this).val(); 
     console.log("value: " + value); 

     if(value=='No'){ 
      $(this).next('td').find('radio').val(2); 
     } 

    }); 
});​ 

Cela pourrait aider: http://jsfiddle.net/E6mhM/.

Des idées comment faire cela? TIA !!!

Répondre

1
$(document).ready(function(){ 
    $('.stock_avail').click(function(){ 

     var value = $(this).val(); 
     console.log("value: " + value); 

     if(value=='No'){ 
      $(this).closest("td").next().find("input[value=1]").attr("checked",true); 
     } 

    }); 
});​ 

Démo: http://jsfiddle.net/E6mhM/4/

+0

Merci pour la réponse rapide Asad, mais il ne fonctionne pas http://jsfiddle.net/E6mhM/3/ – Mico

+0

@Mico Ouais j'édité. Essayez-le maintenant. –

+0

Merci l'homme! Je peux accepter votre réponse dans 5 minutes ... – Mico

0
$(document).ready(function(){ 
    $('.stock_avail').click(function(){ 
     if($(this).val()=='No'){ 
      $(this).parent().parent().next().find(':radio:eq(1)').attr('checked','checked'); 
      //assuming No stock will be always a second radio option 
     } 
    }); 
});