jquery循环通过特定的表单输入字段?

时间:2015-01-07 18:48:21

标签: javascript jquery

我需要遍历网格中的特定表单输入字段并应用“disabled”属性。所有这些特定的输入字段名称和id属性都以“dept_”开头,后跟一个数字。例如:

dept_10
dept_11
dept_789

我可以减少处理,因为我只希望已经应用了没有“禁用”属性的字段,有些人会这样做。

任何jquery想要实现的目标是什么?

2 个答案:

答案 0 :(得分:1)

您可以获取所有表单输入,按ID(或名称)进行过滤,然后禁用它们。

$('#the-form').find('input').filter(':enabled').filter(function() {
    return /^dept_/.test($(this).attr('id'));
}).prop('disabled', true);

如果您想匹配任何类似输入的元素(例如<textarea>),您可以使用.find(':input')代替.find('input')

另外,如果您想对ID的格式非常严格,可以使用/^dept_[\d]+$/.test(...)

答案 1 :(得分:1)

您可能希望使用[attr^=]选择器来过滤,而:enabled过滤未禁用的输入,然后只需禁用每个输入:

$("input[id^='dept_']:enabled").each(function(){
    $(this).prop('disabled', true);
})