0

3ページのアプリがあります。Aそれらを 、Bおよび と呼びましょうC

flag1ページを構築するために Ajax 呼び出しを行い、フラグ (たとえば) に応じてアイコンを変更し、 に応じてページを変更しますflag2sel1アイコンは、異なる IDの3 つのページすべてに表示されsel2ますsel3

セッションで初めてページをページ A、B、または C に変更する場合を除いて、ほとんどの場合は問題なく動作します。この場合、アイコンは切り替わりません。どんな助けでも感謝します。

ここにコードスニペットがあります

    $(document).ready(function(){ 
    $("#sendajax").click(function() {               
    $.ajax({ type: "POST", url: "servlet2",  datatype: "json", 
         success:  populatedata});              
        };
});

    Function populatedata(data){        
       if (data.flag1 == "A" ){
          buildpageA(data);
          $.mobile.changePage("#pageA", {transition:"fade"});   
          $("#pageA").trigger('refresh');                   
    } else if  (data.flag1 == "B" ){
          buildpageB(data);
          $.mobile.changePage("#pageB", {transition:"fade"});   
         $("#pageB").trigger('refresh');
    }else  if(data.flag1 == "C" ){
         buildpageC(data);
         $.mobile.changePage("#pageC", {transition:"fade"});    
         $("#pageC").trigger('refresh');
    }

    Function buildpageA(data){
      if  (data.flag2 != "")                     
    $('#sel1').attr('data-icon', 'info').find('.ui-icon').
              removeClass('ui-icon-info').addClass('ui-icon-error');                
      else
     $('#sel1').attr('data-icon', 'error').find('.ui-icon').
                addClass('ui-icon-info').removeClass('ui-icon-error');              
          $("#sel1").trigger('refresh');
          ……
            }
         }

      Function buildpageB(data){
           if  (data.flag2 != "")                    
        $('#sel2').attr('data-icon', 'info').find('.ui-icon').
                removeClass('ui-icon-info').addClass('ui-icon-error');      
           else
        $('#sel2').attr('data-icon', 'error').find('.ui-icon').
                addClass('ui-icon-info').removeClass('ui-icon-error');          
           $("#sel2").trigger('refresh');
         ……
         }

          Function buildpageC(data){
             ...... you get the point    .}

JSP:

     <body>
      <page data-role= page  id =”pageA”&gt; 
        <a href="#" data-role="button"   id="sel1" data-icon="" ></a></page>

      <page data-role= page  id =”pageB”&gt;
        <a href="#" data-role="button"   id="sel2" data-icon="" ></a> </page>

      <page data-role= page  id =”pageC”&gt;
        <a href="#" data-role="button"   id="sel3" data-icon="" ></a></page>
     </body>
4

1 に答える 1

1

アイコンを変更するには、 を使用します.buttonMarkup

$('#sel').buttonMarkup({ icon: 'error' });

注: jQuery Mobile の場合は、 を使用せず.ready()、jQuery Mobile イベントに固執してください。http://api.jquerymobile.com/category/events/

于 2013-04-29T12:56:57.197 に答える