【问题标题】:jquerymobile to change icon in selectmenujquerymobile 更改选择菜单中的图标
【发布时间】:2015-02-25 03:36:59
【问题描述】:

希望这真的很简单明了。我无法在 JQM 中选择选择菜单。请看底部的jsfiddle。

我只想动态地将图标从向下箭头更改为星号。尽管使用 id,但我似乎什至无法“选择”选择菜单。只是糟糕地使用了一个类。我已经尝试了几吨的东西,有人可以告诉我如何正确地做到这一点。

我期待这会奏效。但是我已经尝试了这个,而且还没有运气。

$('#foo').selectmenu({ icon: "star" });

JSFiddle

http://api.jquerymobile.com/selectmenu/#option-iconpos

【问题讨论】:

    标签: jquery-mobile select-menu


    【解决方案1】:
    • 你必须在页面创建之前调用它,这里有一个JsFiddle 和pagebeforecreate。

      $(document).on( "pagebeforecreate", "#page", function( event ){
          $('select').selectmenu({ icon: "star", iconpos: "left" });
      });`
      
    • 创建页面后,您可以在 select 的父级上使用 removeClass 和 addClass 而不是 select 本身:JsFiddle

    您绝对需要动态执行吗? 否则你可以只使用数据属性:

    data-icon="star" data-iconpos="left"
    

    【讨论】:

    • 是的。我知道我可以这样做,但这实际上是我已经简化的大量编码的一部分。但是,我似乎在第一步失败并且无法选择它。
    • 你必须在页面创建之前调用它,这里有一个JsFiddle 和pagebeforecreate。
    • 谢谢。我也看到了您对$(".selector").parent().removeClass("ui-btn-icon-right"); 的评论。两者都非常有帮助。谢谢。
    • 清理了我的答案,我认为最好的方法是在页面创建之前调用它:)
    • link 是一个更完整/更整洁的编码的 jsfiddle。使用 .parent() 方面似乎效果很好。谢谢。
    【解决方案2】:

    如果你想在widget初始化后改变图标,你可以调用selectmenu("destroy")然后重新初始化:

    $('#foo').selectmenu("destroy").selectmenu({
        icon: "star",
        iconpos: "left"
    });
    

    DEMO

    在演示中单击按钮,图标变为星形并向左移动。

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      相关资源
      最近更新 更多