我需要遍历网格中的特定表单输入字段并应用“disabled”属性。所有这些特定的输入字段名称和id属性都以“dept_”开头,后跟一个数字。例如:
dept_10
dept_11
dept_789
我可以减少处理,因为我只希望已经应用了没有“禁用”属性的字段,有些人会这样做。
任何jquery想要实现的目标是什么?
答案 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);
})