我正在尝试更改输入的所选选项: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')”,但它不起作用。
任何人都知道如何解决问题? 非常感谢!!
答案 0 :(得分:0)
解决方案:
使用 inputRadioContainer.find( '输入:无线电[值= VAL]')ATTR( '检查',真)的 .trigger( '点击'); 强>
。 而不是 inputRadioContainer.find( '输入:无线电[值= VAL]')ATTR( '检查',真)的 .checkboxradio( '刷新'); 强> 。我希望能帮助别人