3ページのアプリがあります。A
それらを 、B
および と呼びましょうC
。
flag1
ページを構築するために Ajax 呼び出しを行い、フラグ (たとえば) に応じてアイコンを変更し、 に応じてページを変更しますflag2
。sel1
アイコンは、異なる 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”>
<a href="#" data-role="button" id="sel1" data-icon="" ></a></page>
<page data-role= page id =”pageB”>
<a href="#" data-role="button" id="sel2" data-icon="" ></a> </page>
<page data-role= page id =”pageC”>
<a href="#" data-role="button" id="sel3" data-icon="" ></a></page>
</body>