【问题标题】:Change tooltip text on click (toggle)单击时更改工具提示文本(切换)
【发布时间】:2014-06-10 18:05:33
【问题描述】:

我有一个像开关一样风格化的输入复选框,以及它附近的工具提示。我想如果用户单击复选框,它会在工具提示中显示一个文本,如果再次单击(未选中)它会显示另一个文本。我试过了,但是当被检查时,工具提示消失了。

主要结构:

<div class="switch">
    <input type="checkbox">
    <label><i class="glyphicon glyphicon-off"></i></label>
</div> 
<div class="tooltip fade bottom in" style="display: block;top: 52px;width: 115px;left: 16.5px;">
    <div class="tooltip-arrow"></div>
    <div id="tp1" class="tooltip-inner">Activar todas</div>
</div>

JQuery 代码(我不知道为什么如果我把它放在文档 ready() 中不起作用,如果我把它放在复选框被选中时它才起作用:

 $(".switch").click(function() {
        $(".tooltip").toggle();
        if ($("#tp1").text() == "Activar todas") {
            $("#tp1").text("Remove comment");
        }
        else {
            $("#tp1").text("Activar todas");
        }
    });

JSFiddle:http://jsfiddle.net/6hJ3J/

【问题讨论】:

  • 您的代码有效。问题是toggle 使您正在更改其文本的div 的父级不可见。评论它并且它有效:jsfiddle.net/jSWg2/1

标签: jquery html css twitter-bootstrap checkbox


【解决方案1】:

在 Fiddle 中加载 Jquery 库,然后将您的代码放入文档中

试试这个

 $(document).ready(function()
   $(".switch").click(function () {
    if ($("#tp1").text() == "Activar todas") {
     $("#tp1").text("Remove comment");
    } else {
     $("#tp1").text("Activar todas");
    }
   });
 });

DEMO

【讨论】:

  • 为什么要在每种情况下都重新切换?没有意义。
  • 谢谢!为什么它在文档准备功能中不起作用?
  • 他发布的内容有效,但不行。如果您删除所有$(".tooltip").toggle();,您将获得相同的效果
  • @Downvoters OP 想要在更改后切换效果,这就是我添加的原因
  • 我不赞成一个不好的解决方案,即使它可能“有效”。
猜你喜欢
  • 2013-01-07
  • 2017-06-11
  • 2012-03-19
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
相关资源
最近更新 更多