动态设置复选框标签文本导致复选框中的样式问题

时间:2014-11-05 05:00:35

标签: javascript jquery jquery-mobile checkbox

在我的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");

1 个答案:

答案 0 :(得分:2)

如果您在页面加载后检查DOM结构,则label未按原样使用,但有一些<span>被添加为子项以显示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