0

私は家の仕事をしましたが、それを働かせることができません。ボタンのスタイルが更新されない助けてください。

        <div id="qpage" data-role="page">
        <div data-role="header">
            <a id="exit-quiz" data-role="button" data-icon="arrow-l" >Exit</a>
            <h1 id="ques-title">#ques-title</h1></div>
        <div data-role="content">
            <div class="ui-bar-a" id="ques-timer">
                #ques-timer
            </div>
            <div id="question"><h3>#Question</h3></div>
            <div class=".button-set" data-role="controlgroup" id="answerbox">
                <a data-role="button" id="answer_1">#answer_1</a>
                <a data-role="button" id="answer_2">#answer_2</a>
                <a data-role="button" id="answer_3">#answer_3</a>
                <a data-role="button" id="answer_4">#answer_4</a>
            </div>
            <div id="explanation">

            </div>
        </div>
        <div data-role="footer"><h2>Copyright Kaveen</h2></div>
    </div>

これは私が書いたJavascriptです

            $("#subject1").bind('click',function(){
            var json = $.get("test.json",function(data){
                $("#question").html(data.question);
                $("#answer_1").html(data.mcq_1);
                $("#answer_2").html(data.mcq_2);
                $("#answer_3").html(data.mcq_3);
                $("#answer_4").html(data.mcq_4);
            });  

試してみました$( "div[data-role=page]" ).page( "destroy" ).page();が、うまくいきません 助けてください ありがとうございます。JSFIDDLE http://jsfiddle.net/xRTCu/

4

2 に答える 2

1

これを試してください、うまくいくはずです:

$("#answer_1").button("refresh");

それでもうまくいかない場合は、これを試してください

$("#answer_1").buttonMarkup();

編集: jsfiddle を更新http://jsfiddle.net/androdify/xRTCu/4/ これを使用:

 $("#answer_1 .ui-btn-text").text(data.mcq_1);

なんで?jquery mobile はボタンの周りにスパンを追加するため、class="ui-btn-text"

于 2013-06-21T18:42:49.667 に答える
0

$( "div[data-role=page]" ).trigger ("create")最新バージョンの jQuery モバイルを使用している場合は試してください。pageいくつかのバージョンの前に廃止されました。

古いバージョンの jQM を使用$("[data-role=button]").button().button ("refresh")している場合は、JSON データをそれらのボタンに追加した後に使用できます。

編集

あなたのフィドルから、あなたが使用していてhtml()、それがjQMのマークアップを消去していることがわかります。これがdata-role=buttonマークアップを変換するものです:

<a data-role="button" id="answer_1">#answer_1</a>

//becomes

<a data-role="button" id="answer_1" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c" class="ui-btn ui-shadow ui-btn-corner-all ui-first-child ui-btn-up-c">
  <span class="ui-btn-inner">
       <span class="ui-btn-text">mcq wrong</span>
  </span>
</a>

したがって、html()youre を使用することで、内部のすべてを効果的に消去できますaui-btn-textこのように内部でクラスを検索してから、その中にテキストを入れてa実行してみてください:html

$(".ui-btn-text", "#answer_1").html(data.mcq_1);
//OR
$("#answer_1").find(".ui-btn-text").html(data.mcq_1);

更新されたデモは次のとおりです: http://jsfiddle.net/hungerpain/xRTCu/3/

于 2013-06-21T17:07:58.630 に答える