如何检查输入类型是否使用jQuery的广播

如何检查输入类型是否使用jQuery的广播

问题描述:

我想根据它们的类型处理不同的html元素。如何检查输入类型是否使用jQuery的广播

使用jquery,我该如何检查输入类型是否是单选按钮?

我已经试过:

if ($('#myElement').is(':radio')) { 
    ....//code here 
} 

if ($('#myElement').is("input[type='radio']")) { 
    ....//code here 
} 

这些都不奏效。有任何想法吗?

编辑:

if ($('#myElement').is(':radio')) { 
    ....//code here 
} 

的作品,但我的单选按钮没有id属性,他们只有一个名字属性,这就是为什么它没有工作。

我改变了我的代码:

if ($('input[name=' + myElement + ']').is(":radio")) { 
    ....//code here 
} 
+1

如果你解决了你自己的问题,你应该发布它作为答案并选择它。 – zzzzBov 2010-12-16 18:26:42

只要元件装入这应该工作。

// Ensure the DOM is ready 
$(function() { 
    if ($('#myElement').is(':radio')) { 
     //code here 
    } 
}); 

如果您根据类型分配处理程序,则另一种方法是使用.filter()

$(function() { 
    var el = $('#myElement'); 
    el.filter(':radio').change(function() { 
     //code here 
    }); 

    el.filter(':checkbox').change(function() { 
     // other code here 
    }); 
}); 

如果未通过filter(),则不会分配处理程序。

这应该工作,你可以尝试使用过滤器这种方式,而不是

if ($('#myElement').filter(':radio').size() > 0) { 
    ....//code here 
} 
and 

if ($('#myElement').filter("input[type='radio']").size() > 0) { 
    ....//code here 
} 

或者

$('#myElement:radio').each(function() { 
     ....//code here 
}); 

UDATE:你是不是也确保ID是在页面独特之处?如果你想多选择1个元素,你可以使用类。

if($('#my-element').attr('type') == 'radio')