【问题标题】:Refreshing input:radio from iframe using Jquery Mobile刷新输入:使用 Jquery Mobile 的 iframe 收音机
【发布时间】:2013-02-04 00:59:50
【问题描述】:

我正在尝试更改输入的选定选项:收音机(在主页中)动态单击 iframe 内的按钮。 为此,y 通过参数传递包含 input:radio 元素的变量:

//code from iframe.js
button.live("click", function(e) { 
    var inputRadioContainer = $(window.parent.document).find('#inputRadioContainer');
    changeInputRadio(inputRadioContainer, "email");
});

//code from mainPage.js
function changeInputRadio(inputRadioContainer, val){
    inputRadioContainer.find('input:radio[value=val]').attr('checked',true).checkboxradio('refresh');
}

//HTML content of inputRadioContainer
<ul id="inputRadioContainer" data-role="listview">
  <li>     
    <fieldset data-role="controlgroup" data-type="horizontal" data-role="fieldcontain" data-mini="true">
        <input type="radio" name="radio-contacto" id="radio-contacto-1" value="email"/>
        <label for="radio-contacto-1" value="email">email</label>

        <input type="radio" name="radio-contacto" id="radio-contacto-2" value="tlf"/>
        <label for="radio-contacto-2" value="tlf">telf</label>
    </fieldset>
  </li>
</ul>

执行该代码后,所需单选的“checked”属性设置为“checked”(如预期的那样),但单选未显示为已选中。似乎 ".checkboxradio('refresh');" 不起作用。我也尝试过 "inputRadioContainer.listview('refresh')" 但它不起作用。

有人知道如何解决这个问题吗? 非常感谢!!

【问题讨论】:

    标签: javascript jquery-mobile iframe refresh


    【解决方案1】:

    解决方案:

    使用 inputRadioContainer.find('input:radio[value=val]').attr('checked',true).trigger('click');

    而不是 inputRadioContainer.find('input:radio[value=val]').attr('checked',true).checkboxradio('refresh');

    我希望能帮助别人

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      • 2013-04-26
      • 2019-03-07
      • 2016-10-18
      • 2012-03-10
      相关资源
      最近更新 更多