【问题标题】:Dynamically make a vertical radio group with jQuery mobile and Ajax使用 jQuery mobile 和 Ajax 动态制作垂直单选组
【发布时间】:2012-10-07 22:35:20
【问题描述】:

我已经尝试解决这个问题好几个小时了。我什至在堆栈溢出上查看了其他类似的示例,但它们没有帮助。

success :  function(data) {       
    var subscriptionJSONObject = data; //{"cost":7.0,"duration":30,"id":7},{"cost":120.0,"duration":365,"id":8}
    $('<fieldset data-role="controlgroup" id="paypalFieldset"></fieldset>').appendTo('#paypalContent');                     
    $('<legend id="paypalLegend">Select a subscription:</legend>').appendTo('#paypalFieldset');                     
    $.each(subscriptionJSONObject,function(i) {
          $('<input type="radio" name="radio-choice-'+i+'" id="'+subscriptionJSONObject[i].id+'" value="'+subscriptionJSONObject[i].cost+'"/>').appendTo("#paypalFieldset"); 
          if(subscriptionJSONObject.cost != -1){
          $('<label for="radio-choice-'+i+'">'+subscriptionJSONObject[i].duration+' day subscription for only R'+subscriptionJSONObject[i].cost+'.00</label>').appendTo("#paypalFieldset");     
          } else {
               $('<label for="radio-choice-'+i+'">Free subscription</label>').appendTo("#paypalFieldset");     
          }
    });
    $("#paypalContent").trigger("create");
}

这是我的 ajax 调用成功函数的一部分。按钮正在显示,图例也显示,但它们没有形成带有 jquery mobile 的垂直单选组的样式。

【问题讨论】:

    标签: jquery jquery-mobile dynamic radio-group


    【解决方案1】:

    如果我没记错的话,.trigger("create") 调用应该在页面本身(而不是单个小部件)上进行。 jQM 文档中似乎暗示了这一点:

    http://jquerymobile.com/test/docs/pages/page-scripting.html

    按照这个逻辑,你的最终陈述可能是:

    $("#paypalContent").closest("div[data-role=page]").trigger("create");
    

    如果这没有帮助,我也很幸运地使用了.destroy(),然后是.trigger("create"),但我怀疑这是否被认为是好的形式。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-17
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 2012-04-04
      • 2013-07-12
      相关资源
      最近更新 更多