1

I want to loop through a table and get the value of an input in a specific row. If that value is 0 disable all the inputs in that row.

Here's my latest unsuccessful attempt.

$('.hiderow-0 input[id*="Quantity"]').each(function() {
   if($(this ).val() == 0){
     $(this).closest('tr').find("input,button,textarea").attr('disabled',true);
    }

 });

Example HTML

<table>
<tr class='hiderow-0'><td><select name="data[TransactionItem][0][quantity]" id="TransactionItem0Quantity">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2" >2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
<td><input name="data[TransactionItem][0][note]" value=""  maxlength="100" type="text" id="TransactionItem0Note"/></td>
<td><input type="checkbox" name="data[TransactionItem][0][waitlisted]"  class="waitlisted" options="0 1" value="1" id="TransactionItem0Waitlisted"/>    
</td></tr>
</table>
Derek 朕會功夫
  • 92,235
  • 44
  • 185
  • 247
  • 3
    Could you please expand your example with the html? Be aware that you can post snipplets that work within the site. http://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/ – k0pernikus May 26 '15 at 23:00

3 Answers3

1

try this

$(this).closest("tr:input").attr("disabled", "disabled");
Derek 朕會功夫
  • 92,235
  • 44
  • 185
  • 247
GANI
  • 2,013
  • 4
  • 35
  • 69
0

You want .prop('disabled', true). .attr() changes the HTML attribute. .prop() vs .attr()

Community
  • 1
  • 1
ChrisV
  • 1,309
  • 9
  • 15
0

Got it after I used select instead of input

 $('.hiderow-0 select[id*="Quantity"]').each(function() {
    if($(this).val() == 0){ 
    $(this).closest('tr').find("input,select").attr('disabled',true);
 
  }

 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<table>
<tr class='hiderow-0'><td><select name="data[TransactionItem][0][quantity]" id="TransactionItem0Quantity">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2" >2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
<td><input name="data[TransactionItem][0][note]" value=""  maxlength="100" type="text" id="TransactionItem0Note"/></td>
<td><input type="checkbox" name="data[TransactionItem][0][waitlisted]"  class="waitlisted" options="0 1" value="1" id="TransactionItem0Waitlisted"/>    
</td></tr>
  <tr class='hiderow-0'><td><select name="data[TransactionItem][1][quantity]" id="TransactionItem1Quantity">
<option value="0" >0</option>
<option value="1" selected="selected">1</option>
<option value="2" >2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
<td><input name="data[TransactionItem][1][note]" value=""  maxlength="100" type="text" id="TransactionItem0Note"/></td>
<td><input type="checkbox" name="data[TransactionItem][1][waitlisted]"  class="waitlisted" options="0 1" value="1" id="TransactionItem0Waitlisted"/>    
</td></tr>
</table>