我有一个包含一系列无线电项目的表格。如果用户选择其中一个单选项目(缺少项目)上的特定条目,我会使用 JQuery 将引导无效类添加到表单上的两个特定输入,并添加一个标签,要求他们添加详细信息并禁用提交按钮阻止他们提交表格。$(function () {$("input[name=optradio]:radio").click(function () { if ($('input[name=optradio]:checked').val() == "2") { $('textarea[name=sentTo]').addClass('is-invalid'); $('input[name=dateSent]').addClass('is-invalid'); $('#removedMSG').text("You must update this field prior to saving"); $('#removedMSG2').text("You must update this field prior to saving"); $('#submit').prop('disabled', true); } else { $('textarea[name=sentTo]').removeClass('is-invalid'); $('input[name=dateSent]').removeClass('is-invalid'); $('#submit').prop('disabled', false); }});});我想添加进一步的检查,以确保用户在重新启用提交按钮之前更新两个输入(一个文本区域)。我知道我可以使用以下内容来检查输入更改$("textarea[name=sentTo]").on("input", function(){ $('textarea[name=sentTo]').removeClass('is-invalid');});这很好用。但是我不知道如何将它们整合在一起:因此,基本上用户选择收音机,is-invalid 被添加到 2 个输入字段,并且禁用提交按钮 - 用户根据需要填写 2 个字段,只有当两个字段都已更新时,我们才会重新启用提交按钮。我想我需要一个 if 语句,但我似乎无法得到正确的代码。我试过if `$("textarea[name=sentTo]").on("input") && $("textarea[name=dateSent]").on("input")` 但这不起作用
1 回答
哆啦的时光机
TA贡献1779条经验 获得超6个赞
您可以传递以逗号分隔的多个选择器,并使用this关键字来引用事件处理函数内的当前元素:
var sentTo = dateSent = false;
$("textarea[name=sentTo], textarea[name=dateSent]").on("input", function(){
if($(this).attr('name') == 'sentTo') sentTo = true; //true for sentTo
if($(this).attr('name') == 'dateSent') dateSent = true;//true for dateSent
if(sentTo && dateSent){ // if both are true
$(this).removeClass('is-invalid');
sentTo = dateSent = false;
}
});
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消