如果三个特定下拉字段中的三个全部为空,则禁用提交按钮
Disable submit button if all three of three specific dropdown fields are empty
表单中有四个下拉列表。一个是可选的。在其他三个中,至少必须选择一个。我有一个脚本,我正在一个带有一个字段的表单上使用,该脚本在做出选择之前禁用提交。但是我无法弄清楚,也找不到如何使其适应以禁用,直到三个特定下拉列表中的至少一个进行了选择。下面是当前脚本:
jQuery(function($) {
$('#ssbbcmodal-attribute').change(function() {
var empty = false;
$('#ssbbcmodal-attribute').each(function() {
if ($(this).val() == null) {
empty = true;
}
});
if (empty) {
$('#ssbbcmodal-submit').attr('disabled', 'disabled');
} else {
$('#ssbbcmodal-submit').removeAttr('disabled');
}
});
})()
更新 1
我可能已经想到了一个办法。很快就会回来更新。
更新 2
好吧,我的方法不起作用,可能是因为我在猜测这个。这是我尝试过的:
jQuery(function($) {
var empty = false;
$('#sseomodal-level').change(function() {
var levelempty = false;
$('#sseomodal-level').each(function() {
if ($(this).val() == null) {
levelempty = true;
}
});
});
$('#sseomodal-username').change(function() {
var userempty = false;
$('#sseomodal-username').each(function() {
if ($(this).val() == null) {
userempty = true;
}
});
});
$('#sseomodal-logged').change(function() {
var loggedempty = false;
$('#sseomodal-logged').each(function() {
if ($(this).val() == null) {
loggedempty = true;
}
});
});
if (levelempty === true && userempty === true && loggedempty === true)
{empty = false}
if (empty) {
$('#sseomodal-submit').attr('disabled', 'disabled');
} else {
$('#sseomodal-submit').removeAttr('disabled');
}
})()
禁用属性永远不会随之删除,即它不起作用。
jsFiddle 演示在这里
您必须测试的三个选择可以分别有一个类(类似于 require_one
)。
更改任何选择框时,请检查它是否具有该类。如果是这样,请从"选择"按钮中删除禁用的属性。
示例代码:
$('#mySubmit').attr('disabled','disabled');
$('select').change(function(){
if ( $(this).hasClass('require_one') ){
$('#mySubmit').removeAttr('disabled');
}
});
对于您自己的代码,请尝试将其简化为仅此代码,看看它是否有效:
$(document).ready(function() {
$('#sseomodal-submit').attr('disabled', 'disabled');
$('[id^=sseomodal]').change(function() {
var myId = $(this).attr('id');
if (myId == 'sseomodal-level' || myId == 'sseomodal-username' || myId == 'sseomodal-logged') {
$('#sseomodal-submit').removeAttr('disabled');
}
});
}); // END document.ready
相关文章:
- 在Rails中,如何通过单击其中一个页面上的按钮来更改三个独立页面上边框的颜色
- 如何使用一个提交按钮提交三个表单
- 如何通过三个.js上的按钮更改背景
- 我在 javascript 中使用了多个按钮,单击其中三个按钮时如何运行一个函数
- Jquery将三个按钮动画化以打开关闭开关
- CSS:将三个按钮对齐成两行
- 我有三个地方供用户登录,在同一页面上,我如何在一个功能中让所有三个按钮工作和三个表单处理
- 尝试在单击按钮时显示三个选择下拉列表的值
- 如果三个特定下拉字段中的三个全部为空,则禁用提交按钮
- 如何添加三个单选按钮,以便每个按钮在 JavaScript 中显示三个不同的表单
- 是否选中了两个或三个单选按钮中的任何一个
- 如何创建一个只有一个提交按钮的具有三个文本输入字段的表单
- 引导模式上的三个按钮
- 每次单击按钮时都会发生两个事件..但第三个事件仅在文档加载时更改
- 如果填充了三个输入并且两个特定的输入相等,则会更改按钮样式;除非不删除“不等于”输入的值,否则它可以工作
- 想要创建一个下载按钮,在悬停时淡出另一个图像,然后点击第三个图像
- “看来More"按钮后每三个底部滚动使用jquery
- 只允许三个按钮中的一个提交web表单
- 如何调整空格键和回车只适用于第三个按钮,不适用于任何其他按钮
- 切换和取消切换三个按钮