【问题标题】:toggle "required" attribute (of a hidden field) when an option is selected with jQuery使用 jQuery 选择选项时切换“必需”属性(隐藏字段的)
【发布时间】:2012-02-14 21:41:04
【问题描述】:

我正在尝试做两件事:

  1. 如果选择了某个选项,则显示隐藏字段,否则隐藏该字段(我有这部分工作 - 虽然如果我使用变量它不起作用)

  2. 如果选择了该选项,请将必需属性添加到显示的字段中。选择另一个选项后,删除所需的属性。

这是一个小提琴链接:

http://jsfiddle.net/tucsonlabs/QCY2Q/

【问题讨论】:

  • 它看起来对我有用。虽然,您可能不应该在所有变量和函数名称前加上 $... 考虑到 $ 被 jQuery 用作函数名称,这有点令人困惑。
  • 我使用 $ 来表明它是一个 jquery 对象。我认为这很标准,不是吗?
  • 可能是,我想我从未真正注意到。
  • @JonathanRowny 通常用于表示该变量包含一个 jQuery 包装的对象。
  • @bazmegakapa 很高兴知道。函数名称怎么样?在提供的小提琴中,该函数对 jQuery 做了一些事情,但它没有返回一个 jQuery 包装的对象。

标签: javascript jquery jquery-selectors


【解决方案1】:

if ($("#aCard").filter(":selected")) 这将始终通过,因为 jQuery 始终返回一个对象,并且任何非零、非 null 或未定义的东西都会通过 if 块。

使用这个if ($("#aCard").filter(":selected").length > 0),你甚至可以使用变量在你的小提琴中显示所需的元素看看。

http://jsfiddle.net/QCY2Q/1/

【讨论】:

  • 从技术上讲,每个 id 应该只有一个元素。如果是这种情况,您可以使用 ($("#aCard").is(":selected"))
  • @Dave - 没错,is(":selected") 更好。但我只是指出了 OP 在小提琴中做错了什么。
  • 感谢 ShankarSangoli。这正是问题所在,他们现在都在工作!
猜你喜欢
  • 2017-12-24
  • 2011-07-16
  • 2011-01-10
  • 2014-10-24
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 2011-12-03
相关资源
最近更新 更多