刷新输入:使用Jquery Mobile从iframe接收无线电

Refreshing input:radio from iframe using Jquery Mobile

本文关键字:iframe 无线电 Mobile 输入 使用 Jquery 刷新      更新时间:2023-09-26

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

//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(已检查)"(如预期),但收音机不会显示为checked(检查)。似乎".checkboxradio('refresh');"不工作。我还尝试过执行"inputRadioContainer.listview('refresh')",但不起作用。

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

解决方案:

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

而不是inputRadioContainer.fund('input:radio[value=val]').attr('checked',true).checkxradio('fresh')

我希望能帮助