如何检查输入类型是否使用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
}
答
只要元件装入这应该工作。
// 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')
如果你解决了你自己的问题,你应该发布它作为答案并选择它。 – zzzzBov 2010-12-16 18:26:42