从隐藏div中的输入字段中删除必需的

use*_*119 7 html forms jquery input required

我有一个表单和几个div与一堆输入字段,一个选择字段显示一个div并隐藏所有其他.在那些输入字段中,我有html5必需的标记.我想从隐藏div中的所有输入字段中删除所需的标记.我怎样才能做到这一点?这是我的显示/隐藏div的js取决于我的选择选项:

    <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>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助...... Dorijan

cha*_*tfl 8

将使用prop()方法required是属性.删除属性后,如果用户切换,则再次变为可见,没有当前机制来跟踪它们被删除的位置.

出于这个原因,我建议你required为所有具有required属性的输入添加一个类.

$('.required').prop('required', function(){
   return  $(this).is(':visible');
});
Run Code Online (Sandbox Code Playgroud)

这将循环遍历所有类required并根据可见性调整属性

  • 有一个更好的功能可以解决该问题:fieldset:disabled。参见:http://jsfiddle.net/trixta/K8EPm/ (3认同)
  • @davidtallon禁用的字段集中的任何内容都被禁用...禁用的控件不提交因此不能被要求 (2认同)