如何在 jQuery Mobile 中刷新单选按钮的样式和布局?

Posted

技术标签:

【中文标题】如何在 jQuery Mobile 中刷新单选按钮的样式和布局?【英文标题】:How to refresh styles and layout of radio buttons in jQuery Mobile? 【发布时间】:2011-09-06 13:36:51 【问题描述】:

我正在使用

$("input[type='radio']").checkboxradio("refresh");  

刷新单选按钮的容器。除非我从顶部或底部移除/添加单选按钮,否则我不会在新的(顶部或底部)单选按钮上获得圆角。

这是包含删除单选按钮代码的 jquery ajax 函数:

$.ajax(
 type: "POST",
 url: url,
 data: data,
 dataType: "json",
 success: function(resp)                               
    $("'label[for="+key+"]'").parent().remove();

这是表格:

<form id="test-form">
  <div data-role="fieldcontain" id="test">
    <fieldset data-role="controlgroup">
        <input type="radio" name="key" id="a.key" value="a.key" 
    <label for="a.key">a.name</label>
        <input type="radio" name="key" id="b.key" value="b.key" 
    <label for="b.key">b.name</label>
        <input type="radio" name="key" id="c.key" value="c.key" 
    <label for="c.key">c.name</label>
    </fieldset>
  </div>
</form>

【问题讨论】:

您可能需要在 change() 等函数上添加刷新 当单选按钮上有用户输入时,不会触发 change(),就像选择了一个?就我而言,我需要监听的更改是添加或删除单选按钮。 我无法让 change() 或 page() 工作。 相关:***.com/questions/5392402/… 【参考方案1】:

在一个元素上调用.page(),该元素是未正确呈现的元素的

我们必须找到一种方法来使用refresh

【讨论】:

我已经根据其他建议尝试过,但它不起作用。例如,如果我删除顶部单选按钮,然后在这些按钮的表单元素上调用 .page(),它们不会刷新 - (新的)顶部单选按钮不会采用顶部按钮的样式。跨度> .page 还有一个技巧——你只需要在一个元素上调用它一次。所以它可能忽略了表单调用......让我想想另一个解决方案。 我没有足够的时间自己处理它,你能发布一个问题的例子让我看看吗?我确信我可以让它工作,最坏的情况是提供一种手动完成的方法 谢谢!我用我的代码更新了帖子。注意有一些 Django 模板标签,但你会明白的。 我希望有一个可行的例子。我需要看到它发生。现在我什至看不到它是如何工作的,因为您发布的代码应该删除整个字段集并且什么都不做(我知道,在 JQM 增强它之后,有更多的 html 并且它可能有效,但是我应该怎么做这一切在我脑海里?)。请发布一个工作副本的链接,我会给你一个不会被猜测的解决方案。

以上是关于如何在 jQuery Mobile 中刷新单选按钮的样式和布局?的主要内容,如果未能解决你的问题,请参考以下文章

jquery mobile如何仅禁用单选按钮组的一种选择

单击单选按钮使用 jquery Mobile 显示图像

jquery mobile设置单选按钮组的选定值

jQuery mobile 中的多个单选按钮控件组

单击按钮时转到下一页并刷新上一个 Jquery Mobile

是否可以在单击单选按钮时刷新 div?