简体   繁体   English

禁用其中一个输入值为0的行中的所有输入

[英]Disable all inputs in row where one input value is 0

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. 如果该值为0禁用该行中的所有输入。

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 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>

尝试这个

$(this).closest("tr:input").attr("disabled", "disabled");

You want .prop('disabled', true) . 您需要.prop('disabled', true) .attr() changes the HTML attribute. .attr()更改HTML属性。 .prop() vs .attr() .prop()与.attr()

Got it after I used select instead of input 我用select代替输入后明白了

  $('.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> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM