Search code examples
javascriptjquerydomdhtml

disable all input tags of parentNode -jquery


I need to disable all input tags of parent node of current object

Scenario is like below

question with options

 <div class="question_title"> 
      question 1

     <div class="answers"> 
      <div class="optionsa">
       [radiobutton] opt1
     </div>
     <div class="optionsa">
       [radiobutton] opt2
     </div>
    <div class="optionsa">
       [radiobutton] opt3
    </div>
  </div>  
 </div> 

 <div class="question_title"> 
      question 2

     <div class="answers"> 
      <div class="optionsa">
       [radiobutton] opt1
     </div>
     <div class="optionsa">
       [radiobutton] opt2
     </div>
    <div class="optionsa">
       [radiobutton] opt3
    </div>
  </div>  
 </div>         

now whenever i choose one option of one question it should disable all other options

i did the following

<script language="javascript">
    $(document).ready(function(){
          $(".optionsa").click(function(){
                $(this).parent().parent().children().attr('disabled',true);

          });
});
  </script>

but it is not working, anything that i missed here?


Solution

  • Try to use .closest() along with .find() in this context,

     $(".optionsa").click(function(){
         $(this).closest('.question_title').find(':radio').prop('disabled',true);
     });