如何设置要禁用的特定元素?

时间:2012-08-21 04:14:22

标签: jquery

我有:

var row = 22;

如何设置它以便我的所有输入和选择元素 可以禁用XXX可以是任何字符组合的ID:

modal_XXX_22 

5 个答案:

答案 0 :(得分:2)

这就是你选择它们的方式:

$('[id^="modal_"][id$="_' + row + '"]').

答案 1 :(得分:1)

您可以尝试Multiple Attribute选择器:

$('*[id^="modal_"][id$="_'+row+'"]').prop('disabled', true)
// ^-  ^--           ^--- attribute ends with selector
//  |    |     
//  |    --- attribute starts with selector 
//  ---- all selector     
  1. All Selector
  2. Attribute Starts With Selector
  3. Attribute Ends With Selector

答案 2 :(得分:0)

尝试:

$(':input[id^="modal_"][id*="_'+ row +'_"]')

虽然更好的HTML设置是单个元素包装输入。

答案 3 :(得分:0)

您可以遍历所有子节点并检查id是否包含您想要的字符串。像这样:

$(document).ready(function(){
    $('ul').children().each(function(){
        var id = $(this).attr('id');
        if (typeof(id) !== 'undefined') {
            if (id.indexOf('22') != -1) {
                $(this).css('color','red');
            }
        }
    });

});​

如果您希望它在整个文件上运行,您可以将其更改为

$('body').children()...

Live demo

答案 4 :(得分:0)

$('input[id^="modal_"][id$="_'+N+'"],select[id^="modal_"][id$="_'+N+'"]')
.attr('disabled','disabled');