0

input: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')」も試してみましたが、うまくいきません。

誰かが問題を解決する方法を知っていますか?どうもありがとうございます!!

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 に答える