如何确定字段是否已启用

时间:2014-05-02 10:09:55

标签: javascript jquery razor jquery-selectors

我有以下脚本,以显示" *"在任何必填字段旁边: -

$('input[data-val-required]').after('<span class='my-class'>*</span>')

但我可以定义额外的过滤,以便&#34; *&#34;只有在以下情况属实时才会显示: -

  1. 该字段是一个带有data-val-required的输入字段?
  2. 该字段未被禁用,或者不是只读的?
  3. 谢谢

3 个答案:

答案 0 :(得分:3)

尝试

:not()

Has Attribute Selector [name]

$('input[data-val-required]:not([disabled],[readonly])').after('<span class="my-class">*</span>')

Fiddle Demo


OP评论后更新

Fiddle Demo

Attribute Equals Selector [name="value"]

$('input[data-val-required]:not([disabled],[readonly],[type="hidden"])').after('<span class="my- class">*</span>')

答案 1 :(得分:0)

尝试使用:

$('input[data-val-required]').each(function() {
    if($(this).is(':disabled')) {
        $(this).after('<span class="my-class">*</span>')
    }
});

答案 2 :(得分:0)

您可以使用filter()

$('input').filter(function() {  
    return $(this).data('val-required') && !$(this).prop('disabled') && !$(this).prop('readonly');
}).after('<span class="my-class">*</span>');