1

我是 Jquery 的新手,非常感谢任何帮助。

我的表有很多行,其中一些为错误:

        <td>
            Error:
           <input name="[0].ValidationResult" type="hidden" value="Error:" />
        </td>

        <td>
            <input data-val="true" data-val-required="The isChecked field is required." name="[0].isChecked" type="checkbox" value="true" /><input name="[0].isChecked" type="hidden" value="false" />
        </td>

我想弄清楚是否禁用与错误相同的行中的复选框:

谢谢你的帮助。

4

2 回答 2

4

此逻辑在服务器上完成,但如果由于某种原因您需要使用 javascript 执行此操作:

$(':hidden[value="Error:"]')
    .closest('tr')
    .find('td :checkbox')
    .attr('disabled', 'disabled')
    .attr('checked', 'checked');

正如评论部分所指出的,如果您使用的是 jQuery 1.6+,则.prop()应该使用该方法而不是.attr

$(':hidden[value="Error:"]')
    .closest('tr')
    .find('td :checkbox')
    .prop('disabled', true)
    .prop('checked', true);
于 2012-04-26T06:53:27.393 回答
0

一种方法是给包含错误的单元格一个特定的类,并在 jQuery 选择器中使用该类。

<td class="errorTd>
     Error:
     <input name="[0].ValidationResult" type="hidden" value="Error:" />
</td>

<td>
    <input data-val="true" data-val-required="The isChecked field is required." name="[0].isChecked" type="checkbox" value="true" /><input name="[0].isChecked" type="hidden" value="false" />
</td>

现在您可以使用 class="errorTd" 禁用单元格中的输入,如下所示:

$('.errorTd input').attr('disabled', 'disabled');
于 2012-04-26T06:53:50.933 回答