0

我正在尝试更改输入的选定选项:收音机(在主页中)动态单击 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')”,但它不起作用。

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

4

1 回答 1

0

解决方案:

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

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

我希望能帮助别人

于 2013-02-19T15:03:55.837 回答