【问题标题】:Javascript toggle button with Jquery Mobile带有 Jquery Mobile 的 Javascript 切换按钮
【发布时间】:2013-03-21 11:16:59
【问题描述】:

请问有谁知道如何按照下面的代码使此切换按钮工作。 它仅在第一次单击后有效,然后按钮值不会改变

http://jsfiddle.net/ossama/2MbsG/

<script type='text/javascript'>
    $(window).load(function () {
        fill.addEventListener("click", function (event) {

            if ($(this).attr('value') == 'Top Up') {
                $('#fill').prev('.ui-btn-inner').children('.ui-btn-text').html('Stop');
                $('#fill').buttonMarkup({
                    theme: "c"
                });
            } else {
                $('#fill').prev('.ui-btn-inner').children('.ui-btn-text').html('Stopping');
                $('#fill').buttonMarkup({
                    theme: "b"
                });
            }

        });
    });
</script>
</head>
<body>
    <input id="fill" type="button" data-inline="true" value="Top Up" data-mini="true"
    data-theme="c" />

【问题讨论】:

  • 你知道函数 .toggle() 吗?.. 你也许可以为这个问题创建一个更好的解决方案?
  • 我尝试了切换,但我遇到了同样的问题,伙计

标签: javascript jquery-mobile button toggle


【解决方案1】:

我希望这个modified fiddle 按预期工作:

fill.addEventListener("click", function(event)
{
        if ($(this).attr('value') == 'Top Up')
        {
            $(this).val('Stop');
            $(this).prev('.ui-btn-inner').children('.ui-btn-text').html('Stop');
            $(this).buttonMarkup({ theme: "c" });
        }       


       else
        {
            $(this).val('Stopping');
            $(this).prev('.ui-btn-inner').children('.ui-btn-text').html('Stopping');
            $(this).buttonMarkup({ theme: "b" });
        } 
});

【讨论】:

  • 谢谢,我明白你的意思了
  • 虽然 fiddles 是有用的链接,但没有代码的 fiddles 会被阻止,以鼓励您也将代码发布在网站上。请不要发布仅仅是对小提琴的引用的答案 - 您可以轻松地将它们内联。
【解决方案2】:

在更改 $(this) 元素的 HTML 时更改值

$(this).val("Stop");

您修改后的代码 http://jsfiddle.net/2MbsG/5/

【讨论】:

  • 您更新的 jsfiddle 是否指向我的早期版本?不是你更新的?
【解决方案3】:

它应该如何工作。 您不会在每次点击后更改它的value 属性,因此if 不会进入else 选项。

【讨论】:

  • -1,很清楚他们正在尝试什么。确认他们的代码因为做错而无法正常工作并没有多大帮助。
  • 对不起,我不明白你们告诉我的解决方案?我用 $(this).val("Stop"); 替换了 w但文字没有改变
  • 我说“它不起作用,因为 ”,这对我来说很清楚,对你来说也很清楚。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-23
  • 1970-01-01
  • 2011-04-29
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多