2012-05-27 14 views
9

मैं jquery मोबाइल के संस्करण 1.1 के साथ रीफ्रेशिंग नेस्टेड सूचियों के लिए एक समाधान खोजने की कोशिश कर रहा हूं जो वर्तमान में आपको एक खाली पृष्ठ के साथ छोड़ देता है।jQuery मोबाइल नेस्टेड सूची रीफ्रेश समाधान

मुझे पता है कि एक मौजूदा समाधान पुशस्टेट को सक्षम करना है, लेकिन यह आपको सूची के रूट पर वापस भेजता है और आपके अगले नेस्टेड सूची दृश्य पर इतिहास स्थिति के साथ शिकंजा भेजता है।

मैं जिस समाधान पर आया था वह नीचे सुंदर नहीं है लेकिन आईओएस और नए एंड्रॉइड पर काम करता है।

$(document).bind("mobileinit", function(){ 

var urlEx = '#&ui-page=5-0'; //ending of nested list url 

if (window.location.href.indexOf(urlEx) != -1){ 

    history.replaceState("", "0", "index.php"); 
    setTimeout("window.location.href='https://FULLURL#/FULLURL&ui-page=5-0'",100); 
} 

window.history.pushState("", "0", "index.php"); 

}); 

मुझे लगता है कि pushState और replaceState हर ब्राउज़र द्वारा समर्थित नहीं हैं और मैं का उपयोग करने की कोशिश कर सकते हैं कि: बजाय

window.location.href = window.location.href.substring(0,window.location.href.indexOf('#')); 

लेकिन यह एक उपयोगकर्ता अनुभव के बहुत choppier हो जाता है।

मुझे आशा है कि कोई बेहतर तरीके से क्या किया जा सकता है या इसे बेहतर/अधिक विश्वसनीय तरीके से कैसे किया जा सकता है, इस पर कुछ प्रकाश डाला जा सकता है।

+0

यदि आप विश्वसनीयता के बारे में चिंतित हैं तो आप जेक्यूएम के स्थिर संस्करण का उपयोग क्यों नहीं कर रहे हैं? – codaniel

+0

मेरी गलती। मुझे लगता है 1.1 खुद से आगे बढ़ना :) – chris

+3

क्या आप एचटीएमएल कोड प्रदान कर सकते हैं ताकि हम संभावित कामकाज खोजने पर काम कर सकें? –

उत्तर

1

$("#<mySelector>").listview("refresh");

या

$("#<mySelector>").refresh("listview");

जब तक मैं पूरी तरह से कर रहा हूँ गलत समझ अपने प्रश्न, आप सूची है कि आप जोड़ रहे हैं ताज़ा करने के लिए ऊपर लाइनों में से किसी का उपयोग करने में सक्षम होना चाहिए जहां <mySelector> जो भी JQuery- संगत चयनकर्ता है जो आपकी सूचीदृश्य वापस करेगा।

1

इस कोड मेरे लिए काम किया:

$("#newList").append("<li class='ui-li-desc'><div><b>"+data[i].Title+":</b></div><small><div class='ui- li-desc'>"+data[i].Content+"</div></small></li>"); 

$("#newList").listview("refresh"); 

यहाँ #newlist उल के लिए आईडी है और डेटा एक वस्तु है।

संबंधित मुद्दे