現在、それを実現する方法は 2 つあります。1 つはより多くの労力で、もう 1 つはより少ない労力で。しかし、手間がかからないということは、制御も少なくなるということです。つまり、jQuery Stepsは、もちろん、読み込み中のメッセージと非同期呼び出し自体の表示と非表示を処理します。とにかく、最初の解決策 (労力が少ない) では、慣れているように、初期化時にデフォルトの非同期ステップを追加する必要があります。
<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 イベントにコードの一部を追加します。このコードは、前のステップのデータを分析し、必要に応じてデフォルトの非同期ステップを削除し、同じ位置に別の URL で新しいステップを追加する必要があります。
<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によって説明されています。