gpt4 book ai didi

css - jQuery Mobile 不会在动态复选框上应用样式并且无法单击

转载 作者:行者123 更新时间:2023-12-02 05:11:29 26 4
gpt4 key购买 nike

我正在尝试刷新在单击菜单选项卡页脚时附加在字段集标记中的复选框的数量。第一次访问选项卡没问题,但之后,所有复选框都无法再选中。我已经多次修改我的代码,但它不起作用。有时可以检查它们但没有应用样式。有时无法检查它们但应用了样式。

我已经尝试过 .controlgroup('refresh');.checkboxradio("refresh"); 但它们都不起作用。我看过大多数类似的问题,但它们并没有帮助我解决这个问题。可能是我把代码放错地方了吗?

对于 .checkboxradio("refresh");,控制台始终记录此错误。无法在初始化之前调用 checkboxradio 上的方法;试图调用方法 'refresh'

这是我的原始 HTML 和 JS

<div data-role="content" data-theme="a">
<div id='delete_wrapper'>
<a href="#" data-role="button" id='deleteButton'>Delete</a>
<a href="#" data-role="button" id='deleteAllButton'>Delete All</a>
</div>
<fieldset data-role="controlgroup" id='checkboxes_wrapper2'>

</fieldset>
</div>

这是我的JS

runfirstDelete = true;
$('.delete_tab').click(function(){
$("#checkboxes_wrapper2").children().remove();
var dataIndex;
var dataName;
for(var i in localStorage)
{
dataIndex = JSON.parse(localStorage[i]).index;
dataName = JSON.parse(localStorage[i]).name;

if(runfirstDelete){ // This for 1st time visit, It's working okay.
$("#checkboxes_wrapper2").append('<input type="checkbox" name="'+dataIndex+'" id="checkbox'+dataIndex+'" value="'+dataIndex+'"/><label for="checkbox'+dataIndex+'">'+dataName+'</label>');
}
else{ //if not, trying to insert embedded style in element
$('#checkboxes_wrapper2').append('<div class="ui-checkbox"><input type="checkbox" value="'+dataIndex+'" name="'+dataIndex+'" id="checkbox'+dataIndex+'"><label for="checkbox'+dataIndex+'" data-corners="true" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-icon="checkbox-off" data-theme="a" data-mini="false" class="ui-checkbox-off ui-btn ui-btn-up-a ui-btn-corner-all ui-fullsize ui-btn-icon-left ui-btn-up-a"><span class="ui-btn-inner"><span class="ui-btn-text">'+dataName+'</span><span class="ui-icon ui-icon-checkbox-off ui-icon-shadow">&nbsp;</span></span></label></div>');
}
}
runfirstDelete = false; //Then indicate that it's not 1st click on tab
});

最佳答案

由于您要添加新元素,因此不会有 jQuery Mobile 小部件来扩充它们,因此尝试调用它们的 refresh() 方法确实会失败。

告诉 jQuery Mobile“ catch ”新标记的一种简单方法是触发容器元素上的 create 事件:

$("#checkboxes_wrapper2").trigger("create");

关于css - jQuery Mobile 不会在动态复选框上应用样式并且无法单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15383531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com