【问题标题】:How to use Hide and show queries within IF conditions J QUery如何在 IF 条件 JQUery 中使用隐藏和显示查询
【发布时间】:2022-10-17 23:35:04
【问题描述】:

所以可以说我的问题是我有一个下拉列表,其中包含 2 个值,例如 values1 和 value2,当我单击 value1 时,应该显示字段 1,当我选择 value2 时,字段 2 会像这样显示

function acc_type() {
  if (jq('#dropdownID').val() === "") {
    jq('#field1').hide();
    jq('#field2').hide();
  }
  jq('#dropdownID').on('change', function() {
    let acct_type = jq('#dropdownID option:selected').text();
    if (acct_type == "value1") {
      jq('#field1').show();
      jq('#field2').hide();
    } else if (acct_type == "value2") {
      jq('#field1').hide();
      jq('#field2').show();
    }
  });
}

我的任务是当某些字段出现时,使它们成为强制性的,存在带有错误的现有函数调用,我需要添加但我如何使它工作..我的尝试如下所示

if (jq('#field1').show() && !jq('#field2').val()) {
  addErr(`A value for <a href="javascript:void(0)" onlick="jq('#field2').focus()">Field 2</a> is required.<br>`);
} else if (jq('#field2').show() && !jq('#field1').val()) {
  addErr(`A value for <a href="javascript:void(0)" onlick="jq('#field1').focus()">field 1</a> is required.`);
}

代码的第一部分工作正常,“addERR()”也很好,但我想不出任何方法来完成我的工作,比如当 1 被隐藏而其他部分显示为空字段时,它应该抛出错误。 如果有人可以提供帮助,请尽快查看。这是我关于 Stack 的第一个问题。

【问题讨论】:

  • 如果您将所有内容包装在&lt;form&gt; 中并在&lt;input&gt; 上添加required 或其他任何内容(您的问题没有任何HTML(这就是我不回答的原因)),那么它会在&lt;form&gt; 已提交(当然已停止提交)。
  • .show() 说“使这个可见”而不是“这个可见”并且总是返回一个 jquery -object/collection(即使是空的)所以总是真实的 - 检查一个元素是否可见你需要if ($(#field1").is(":visible")...
  • @freedomn-m,是的,你是对的,这就是我所缺少的。我喜欢从未尝试过“这是可见的”事情,所以这就是为什么我被困在这个问题上。不过还是非常感谢

标签: jquery if-statement show-hide


【解决方案1】:

在这里更新,

自己找到解决方案

if (jq('#field1').is(":visible") && !jq('#field2').val()) {
  addErr(`A value for <a href="javascript:void(0)" onlick="jq('#field2').focus()">Field 2</a> is required.<br>`);
} else if (jq('#field2').is(":visible") && !jq('#field1').val()) {
  addErr(`A value for <a href="javascript:void(0)" onlick="jq('#field1').focus()">field 1</a> is required.`);
}

我做错的事情而不是show() 我需要使用

is(":visible")
//or hidden instead of visible

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多