-1
    <body>
    <div data-role="page">

    <div align="center" id="mainPageContent1" data-role="content">    
            <div data-role="controlgroup" id="game_part1s" data-type="horizontal">

<a data-role='button' id='btn1' href='javascript:changeGamePart("Reset1");'>0 - 5 min</a>
<a data-role='button' id='btn2' href='javascript:changeGamePart("2");'>6 - 10 min</a>
<a data-role='button' id='btn3' href='javascript:changeGamePart("3");'>10 - 15 min</a>
<a data-role='button' id='btn4' href='javascript:changeGamePart("4");'>16 - 20 min</a>

             </div>
        </div> 
    </div><!-- /page -->

<script>
$(document).ready(function() {
    setInitialGamePart();
});
function setInitialGamePart() {
    changeGamePart(1);
}
function changeGamePart(nButtonId) {
    for (var iPart = 1; iPart < 5; iPart++) {
        if (nButtonId == iPart) {
    //alert('add class' + iPart);
            $('#btn' + iPart).addClass("ui-btn-active");
            } else {
    //alert('remove class' + iPart);
                $('#btn' + iPart).removeClass("ui-btn-active");
                }
            }
        }

    </script>
</body>

Page Init で setInitialGamePart が呼び出され、最初のボタンがアクティブに設定され、残りのボタンが非アクティブに設定されます。他のボタンをクリックすると、すべてのボタンがアクティブになりません (通常のボタンが強調表示されません)

ここで何がエラーなのかわからない

JSFiddleはこちらhttp://jsfiddle.net/fFZ6S/

ご覧のとおり、init は正常に機能しますが、ボタンをクリックしても機能しません。助けてください

4

1 に答える 1

0

href を href='#' に変更してこれを修正したので、古いコードは

<a data-role='button' id='btn1' href='javascript:changeGamePart("1");'>0 - 5 min</a>

私の新しいコードは次のようになります

<a data-role='button' id='btn1' href='#' onclick='javascript:changeGamePart("1");'>0 - 5 min</a>

このスタックからヒントを得ました.. jquery mobile force ui-btn-active on navbar button

ここにあなたのためのJSFiddleがあります http://jsfiddle.net/fzaqu/

それがあなたを助けることを願っています

于 2012-12-29T16:38:42.457 に答える