为了账号安全,请及时绑定邮箱和手机立即绑定

检查 2 个输入和启用按钮的变化

检查 2 个输入和启用按钮的变化

湖上湖 2023-09-04 15:47:33
我有一个包含一系列无线电项目的表格。如果用户选择其中一个单选项目(缺少项目)上的特定条目,我会使用 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;

  }

});


查看完整回答
反对 回复 2023-09-04
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信