在单选按钮更改时向 DIV 中的输入添加必需属性
Adding Required Attribute to Inputs in DIV On Radio Button Change
我的注册表单上的一段代码有问题。用户即将 select 帐户类型。 (1 和 2)更改表单上所需的字段。
我已将必填字段包装在 div 中以便于访问它们,但是我在向输入添加必填属性时遇到问题。
function changeAccount(input)
{
var selected = $(input).data("type");
if (selected == "1")
{
$('#at-1-inputs').slideDown(500);
$('#at-2-inputs').slideUp(500);
$('#at-2-inputs').find('input').each(function()
{
$(this).removeAttr('required');
});
$('#at-1-inputs').find('input').each(function()
{
$(this).addAttr('required');
});
}
else
{
// SAME AS ABOVE IN REVERSE
}
}
但是每当我更改单选按钮时,在我的 JS 控制台中我都会收到
Uncaught TypeError: undefined is not a function
我已经检查过,单击单选按钮时肯定会调用该函数。
有没有人对这个问题有任何见解?
改变这个:
$(this).addAttr('required');
对此:
$(this).attr('required', 'required');
或
$(this).prop('required', true);
.addAttr()
在 jQuery 中不可用。您应该使用 .attr()
或 .prop()
来设置 attribute/property.
function changeAccount(input)
{
var selected = $(input).data("type");
if (selected == "1")
{
$('#at-1-inputs').slideDown(500);
$('#at-2-inputs').slideUp(500);
$('#at-2-inputs').find('input').each(function()
{
$(this).prop('required', false); // <----use .prop() instead
});
$('#at-1-inputs').find('input').each(function()
{
$(this).prop('required', true); //<-----use .prop() instead
});
}
else
{
// SAME AS ABOVE IN REVERSE
}
}
我的注册表单上的一段代码有问题。用户即将 select 帐户类型。 (1 和 2)更改表单上所需的字段。
我已将必填字段包装在 div 中以便于访问它们,但是我在向输入添加必填属性时遇到问题。
function changeAccount(input)
{
var selected = $(input).data("type");
if (selected == "1")
{
$('#at-1-inputs').slideDown(500);
$('#at-2-inputs').slideUp(500);
$('#at-2-inputs').find('input').each(function()
{
$(this).removeAttr('required');
});
$('#at-1-inputs').find('input').each(function()
{
$(this).addAttr('required');
});
}
else
{
// SAME AS ABOVE IN REVERSE
}
}
但是每当我更改单选按钮时,在我的 JS 控制台中我都会收到
Uncaught TypeError: undefined is not a function
我已经检查过,单击单选按钮时肯定会调用该函数。
有没有人对这个问题有任何见解?
改变这个:
$(this).addAttr('required');
对此:
$(this).attr('required', 'required');
或
$(this).prop('required', true);
.addAttr()
在 jQuery 中不可用。您应该使用 .attr()
或 .prop()
来设置 attribute/property.
function changeAccount(input)
{
var selected = $(input).data("type");
if (selected == "1")
{
$('#at-1-inputs').slideDown(500);
$('#at-2-inputs').slideUp(500);
$('#at-2-inputs').find('input').each(function()
{
$(this).prop('required', false); // <----use .prop() instead
});
$('#at-1-inputs').find('input').each(function()
{
$(this).prop('required', true); //<-----use .prop() instead
});
}
else
{
// SAME AS ABOVE IN REVERSE
}
}