我设法做的复选框列表,使下拉选项显示和隐藏时,单击复选框,当我不选中任何复选框,基本下拉选项将只显示,这些下拉选项需要选择,然后点击提交。
问题是,当选中任何复选框时,基本下拉选项将被隐藏,而其他下拉选项将显示,但当单击submit按钮时,浏览器外的message显示仍然需要字段,这些字段是隐藏的下拉选项。
我想让那些下拉选项不需要时,它隐藏。
这里是复选框的代码:
var $j = jQuery.noConflict();
$j(document).ready(function(){
$j(':checkbox').bind('change', function() {
var thisClass = $j(this).attr('class');
if ($j(this).attr('checked')) {
$j(':checkbox.' + thisClass + ":not(#" + this.id + ")").removeAttr('checked');
}
else {
$j(this).attr('checked', false);
$j('.main-options').show();
$j('.first-image').show();
$j('.hide-onload').hide();
}
});
});,这是显示/隐藏的代码:
$j(document).ready(function(e) {
$j('.roundedOne').each(function(index, element) {
$j(this).click(function(){
$j('.main-options').hide();
$j('.first-image').hide();
$j('.hide-onload').hide();
$j('.changing-options').eq(index).show();
$j('.changing-image').eq(index).show();
});
});
});我希望我说的很清楚。
发布于 2020-04-07 01:55:13
使用jquery尝试这个解决方案。
...find('input,textarea,select') 您可以在表单中添加更多需要通过的元素
$('form#csf3SubmitForm').find('input, textarea, select').each(function(){
if($(this).prop('required') && $(this).is(":hidden") && $(this).val() === ""){
console.log("before -- IS REQUIRED >>> " + $(this).prop('required') + " -- ID >>> " + $(this).attr("id") + " " + "VALUE >>> " + $(this).val());
$(this).prop("required", false);
console.log("after -- IS REQUIRED >>> " + $(this).prop('required') + " -- ID >>> " + $(this).attr("id") + " " + "VALUE >>> " + $(this).val());
}
});如果窗体上有许多字段,而忘记添加进一步的验证以不需要不可见字段,则可以循环遍历表单中的所有字段,并检查哪些字段是必需的,哪些是不可见的.
将这些元素设置为required=false。可以向条件中添加更多内容,以特定于要禁用的一个或多个字段。
希望这会有所帮助,并给出一个想法。这是个解决办法。
https://stackoverflow.com/questions/21806270
复制相似问题