我有一个表单和几个带有一堆输入字段的div,还有一个选择字段显示一个div并隐藏所有其他字段。在那些输入字段中,我有html5必需的标记。 我想从隐藏div中的所有输入字段中删除所需的标记。 我怎样才能做到这一点? 这是我的js显示/隐藏divs取决于我的选择选项:
<script>
function changeGroup(e) {
/*
1 - Remove all group classes
2 - Add the currently selected group class
*/
$("#main")
.removeClass(allGroups)
.addClass($("option:selected", e.target).val())
}
/*
1 - Bind changeGroup function to "change" event
2 - Fetch all group from the select field
*/
var allGroups = $("select")
.change(changeGroup)
.find("option")
.map(function() {
return $(this).val();
})
.get()
.join(' ');
</script>
谢谢你的帮助...... Dorijan
答案 0 :(得分:7)
使用prop()
方法,因为required
是属性。删除属性后,如果用户切换,则再次变为可见,没有当前机制来跟踪它们被删除的位置。
出于这个原因,我建议您为所有具有required
属性的输入添加一个类required
。
$('.required').prop('required', function(){
return $(this).is(':visible');
});
这将循环遍历所有类required
并根据可见性调整属性
答案 1 :(得分:2)
删除&#39; required&#39;使用jQuery从元素组或div的所有输入子属性中进行属性,您可以尝试:
$("#hiddenDiv :input").prop('required',null);