【发布时间】: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=... -
这是红宝石吗?
<%= viewMode.equals ...如果是这样,也许用ruby 标记问题...我打算提供一个php 解决方案,但我认为它不合适 -
@i-- 我将我的函数更改为:history.pushState({}, document.title, "../../app/?viewMode=") - 但不起作用
-
@Hrvoje - 通过重新阅读您的问题,听起来“cnexans”答案更有意义。这是一个价值真假的问题。
标签: javascript html checkbox href