वर्तमान में इसका एहसास करने के दो तरीके हैं। कम प्रयास के साथ एक और दूसरे के साथ एक। लेकिन कम प्रयास का मतलब कम नियंत्रण भी है - दूसरे शब्दों में jQuery चरण लोडिंग संदेश और एसिंक कॉल को स्वयं दिखाते हुए छिपाते हैं। किसी भी तरह, पहला समाधान (कम प्रयास) के लिए आवश्यक है कि आप प्रारंभिक पर एक डिफ़ॉल्ट async चरण जोड़ दें जैसे आप का उपयोग किया जाता है।
<div id="wizard">
<h1>Choose</h1>
<div>
<select id="choose">
<option value="0" selected="selected">default</option>
<option value="1">extraordinary</option>
</select>
</div>
<h1>Result 1</h1>
<div data-mode="async" data-url="/rest/service/0"></div>
</div>
फिर melc उल्लेख की तरह onStepChanging घटना के लिए कोड का एक छोटा सा हिस्सा जोड़ें। इस कोड को पिछले चरण के डेटा का विश्लेषण करना चाहिए और डिफ़ॉल्ट एसिंक चरण आवश्यक होने पर हटाएं और एक ही स्थिति में एक नया यूआरएल जोड़ें लेकिन एक अलग यूआरएल के साथ।
<script>
$(function()
{
var wizard = $("#wizard").steps({
onStepChanging: function(event, currentIndex, newIndex)
{
if (currentIndex === 0)
{
if ($("#choose > option:selected").val() === "1")
{
wizard.steps("remove", 1);
// In this case you could also use add instead of insert
wizard.steps("insert", 1, {
title: "Result 2",
contentMode: "async",
contentUrl: "/rest/service/1"
});
}
}
return true;
}
});
});
</script>
अन्य समाधान पहले से ही melc द्वारा वर्णित है।
स्रोत
2013-10-19 13:01:53
दोनों धन्यवाद।मुझे अधिक नियंत्रण होना पसंद है, इसलिए मैंने मेलक सुझाए गए समाधान को लागू किया है। मेरे ऑनस्टेप चेंजिंग ईवेंट पर मैं एक अजाक्स कॉल करने के लिए एक फ़ंक्शन को कॉल करता हूं और बैकएंड पर वर्तमान इंडेक्स/शीर्षक भेजता हूं। बैकएंड संबंधित सामग्री के साथ प्रतिक्रिया करता है। औसत समय में, अगला (खाली) चरण उपयोगकर्ता को लोडर एनीमेशन के साथ दिखाया जाता है। अंतिम चरण 'नए' खाली चरण की सामग्री को सेट कर रहा है। इस चरण के संदर्भ को स्थापित करने का सबसे प्रभावी तरीका क्या है? डीआईवी की आईडी गतिशील रूप से उत्पन्न होती है, इसलिए मैं उन्हें चुन नहीं सकता। पीएस क्या मैं केवल 1 जवाब देने के लिए अंक दे सकता हूं? – user2779014