【问题标题】:Checkbox input - onclick event - change href and checkbox image/value复选框输入 - onclick 事件 - 更改 href 和复选框图像/值
【发布时间】:2018-03-19 23:00:11
【问题描述】:

我有这个复选框:

这是复选框的代码:

<input class="ace ace-switch"
       data-toggle="tooltip"
       data-placement="top"
       value="true"
       type="checkbox"
       id="checkBoxId"
       onclick="switch();" >

点击时我想更改 href(url) 并基于该 url 我隐藏/显示页面上的一些其他元素。

这是onclick事件的代码:

function switch() {
    location.href="../../app/?viewMode=<%= viewMode.equals("presentation")?"full":"presentation" %>"
}

点击时,href(url) 被更改,元素被隐藏或显示,但切换图像始终保持关闭状态。

为什么?

【问题讨论】:

  • 因为你重新加载页面它会重置你的开关,如果你想在不重新加载的情况下更改url,请使用history.pushState({}, document.title, "yourpage.html?viewMode=...")而不是location.href=...
  • 这是红宝石吗? &lt;%= viewMode.equals ... 如果是这样,也许用ruby 标记问​​题...我打算提供一个php 解决方案,但我认为它不合适
  • @i-- 我将我的函数更改为:history.pushState({}, document.title, "../../app/?viewMode=") - 但不起作用
  • @Hrvoje - 通过重新阅读您的问题,听起来“cnexans”答案更有意义。这是一个价值真假的问题。

标签: javascript html checkbox href


【解决方案1】:

它总是在炫耀,因为您正在重新加载页面。你只需要根据viewMode设置值

<input class="ace ace-switch"
       data-toggle="tooltip"
       data-placement="top"
       value="<%= viewMode.equals("presentation")? "true":"false" %>"
       type="checkbox"
       id="checkBoxId"
       onclick="switch();" >

【讨论】:

  • 如果我更改为 true 和 false 那么什么都不会发生,因为我在代码中使用单词“full”和“presentation”来隐藏/显示一些元素..
  • 真/假是指输入的值
  • 仍然因为重新加载总是保持关闭:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-19
  • 2011-08-30
  • 2012-06-26
  • 1970-01-01
  • 2015-04-18
相关资源
最近更新 更多