我有一个带有复选框的表单。 所有复选框都有一个名为att的属性,其中包含多个用逗号分隔的数字。如何检查具有自定义属性的所有输入
我想创建一个函数,获取一个数字,检查所有复选框,并检查其att属性包含该数字的所有复选框。
有人可以请我指点正确的方向吗?
我有一个带有复选框的表单。 所有复选框都有一个名为att的属性,其中包含多个用逗号分隔的数字。如何检查具有自定义属性的所有输入
我想创建一个函数,获取一个数字,检查所有复选框,并检查其att属性包含该数字的所有复选框。
有人可以请我指点正确的方向吗?
使用jQuery,你可以这样做
function myfunc(num)
{
$(":checkbox[att!='']").each(function()
{
var i, l, values = $(this).attr("att").split(",");
for (i = 0, l = values.length; i < l; ++i)
{
if (values[i] == num)
{
$(this).attr("checked", "checked");
break;
}
}
});
}
使用JQuery,您可以使用attribute-contains selector来获取属性包含特定值的所有元素。
$('input[att*="100"]').val('input has 100 in it!');
此遍历所有input
元素和(使用逗号分割)为您提供含有att
的值的数组,所以我添加一些逻辑挑出仅复选框:
for (var i = 0; i < document.getElementsByTagName('input'); i++)
{
var att_array = document.getElementsByTagName('input')[i].getAttribute('att').split(',');
}
这将为您带来属性为ATTR的所有输入,然后提醒每个输入的值。当然,你可以做任何你想要的东西。
$("input[ATTR]").each(function(){
alert($(this).attr("ATTR"))
})
如果你想这个限制复选框,改变选择如图所示下面
$(":checkbox[ATTR]").each(function(){
alert($(this).attr("ATTR"))
})
'.val()'是不必要的。 – 2011-03-09 19:33:47
良好的通话。我倾向于出于我认为的习惯。 – iivel 2011-03-09 19:45:33
我的意思是,'.val()'会在这里导致一个错误。 – 2011-03-10 17:44:51
由于某种原因,我不适合我,为什么? – Lior 2011-03-09 19:40:08
好吧,我的坏,它的工作,非常感谢你! – Lior 2011-03-09 20:00:38