【问题标题】:Dynamically set checkbox label text cause the style issue in checkbox动态设置复选框标签文本导致复选框中的样式问题
【发布时间】:2014-11-05 13:09:11
【问题描述】:

在我的jquery mobile(v 1.3.2) 应用程序中,我刚刚创建了一个复选框并使用 jquery 动态设置复选框文本。当这样设置时,复选框样式被折叠。

这是示例代码:

<input type="checkbox" name="OptIconsLabels" id="OptIconsLabels" class="custom" data-theme="c" />
<label for="OptIconsLabels"></label>

Js:

$("#OptToolbarLbl").text("Label");
$('label[for="OptIconsLabels"]').text("Opt Icon");
$("#OptIconsLabels").attr("checked", false).checkboxradio("refresh");

这里是FIDDLE DEMO

注意:我也尝试过触发页面创建

$(.page).trigger("pagecreate");

【问题讨论】:

    标签: javascript jquery jquery-mobile checkbox


    【解决方案1】:

    如果您在页面加载后检查 DOM 结构,则 label 不会按原样使用,但有一些 &lt;span&gt; 被添加为子项以显示 label 文本。该跨度具有您需要更新的class="ui-btn-text"。见下面的代码 -

    $(document).on("pageshow","#OptionsGeneral", function() {
    
         $("#OptToolbarLbl").text("Label");
         $('label[for="OptIconsLabels"] span.ui-btn-text').text("Opt Icon");
         $("#OptIconsLabels").attr("checked", false).checkboxradio("refresh");
    });
    

    DEMO

    【讨论】:

    • 无法接受需要等待 2 分钟..我还有一个疑问,锚标签按钮文本设置动态设置时像这样图标不可见。
    • 没问题,2分钟后接受。您需要在页面加载后检查 DOM 它正在构建什么结构,使用下面的链接来检查 Firefox 和 chrome 浏览器。 FIREFOXCHROME
    • 请分享一个 jsfiddle 链接
    • 由于你的锚是一个带有加号的按钮,你不能在上面放文字。最多可以将文本添加到锚的父 div 像这样jsfiddle.net/oLwwrzLs/17
    • 这就是它不会合并的内容,可能需要使用其他主题作为锚点。
    猜你喜欢
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 2013-10-25
    • 1970-01-01
    • 2019-07-18
    相关资源
    最近更新 更多