【问题标题】:Run 2 functions in Javascript inline with ternary operator使用三元运算符在 Javascript 中内联运行 2 个函数
【发布时间】:2015-05-20 09:45:07
【问题描述】:

我想运行一个函数并检查 element1 是否启用,如果启用则禁用它和 element2,反之亦然。

<input type="" onclick = "function(); element1.disabled==true ? (element1.disabled=false, element2.disabled=false ) : (element1.disabled=true, element2.disabled=true)" />

如何使这段代码工作?

因为你不能使用“;”在 "()" 里面我试过 "," 但没用。

【问题讨论】:

  • 你为什么不直接调用一个可以做逻辑的函数??在同一页面中声明一个函数,然后调用它:onclick="myFunction()"
  • 如果你声明一个函数,你需要用{ } : function(){...} 包裹主体,你的代码应该可以工作
  • 您还需要用逗号替换分号
  • @btx9000 我试过用逗号,对我没用..
  • @Haketo 你能告诉我吗?

标签: javascript ternary-operator


【解决方案1】:

在这种情况下,您可以使用链式赋值:

element1.disabled==true ? element1.disabled=element2.disabled=false : element1.disabled=element2.disabled=true

【讨论】:

  • 谢谢,链式作业真的很有帮助。 @andale
【解决方案2】:

不需要三元运算符,你可以取反element1.disabled

<input type="checkbox" onclick="element1.disabled = element2.disabled = !element1.disabled" />

您还可以链接分配(每个分配“返回”值)

【讨论】:

    【解决方案3】:

    删除不需要的“function()”,并将分号替换为逗号。您的代码应如下所示:

    <input type="button" onclick = "element1.disabled==true ? (element1.disabled=false, element2.disabled=false) : (element1.disabled=true, element2.disabled=true)">
    

    【讨论】:

    • function() 表示我还想在 onclick 事件中与复杂 if 一起运行一个函数。
    • 在那种情况下&lt;input type="button" onclick = "name_of_function(), element1.disabled==true ? (element1.disabled=false, element2.disabled=false) : (element1.disabled=true, element2.disabled=true)"&gt;
    • 谢谢你,你也帮了我
    猜你喜欢
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 2020-08-02
    • 2022-11-03
    • 2021-07-14
    • 2016-10-24
    相关资源
    最近更新 更多