刷新输入:使用Jquery Mobile从iframe收音机

时间:2013-02-19 11:06:52

标签: javascript jquery-mobile iframe refresh

我正在尝试更改输入的所选选项:radio(在主页面中)动态单击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>

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

任何人都知道如何解决问题? 非常感谢!!

1 个答案:

答案 0 :(得分:0)

解决方案:

使用 inputRadioContainer.find( '输入:无线​​电[值= VAL]')ATTR( '检查',真)的 .trigger( '点击');

。 而不是 inputRadioContainer.find( '输入:无线​​电[值= VAL]')ATTR( '检查',真)的 .checkboxradio( '刷新');

我希望能帮助别人