【问题标题】:How to refresh styles and layout of radio buttons in jQuery Mobile?如何在 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() 工作。

标签: javascript jquery radio-button jquery-mobile


【解决方案1】:

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

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

【讨论】:

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