我成功地從this source設置了4個步驟的php表單。 只有一個任務遇到問題:在第一頁上我插入了一個單選按鈕。根據選擇(「是」或「否」),應跳過步驟3。隱藏根據單選按鈕選擇從多步表單步驟
我一直在嘗試2個小時,並在互聯網上搜索 - Java腳本不是我的實力。我怎麼能實現它?下面的JavaScript我使用:
<script type="text/javascript">
$(document).ready(function(){
var current = 1,current_step,next_step,steps;
steps = $("fieldset").length;
$(".next").click(function(){
if(current=='2' && $('input[name="Guest_sel"]:checked').val()=='No') {
/* HERE I DON'T KNOW WHAT TO PUT. THE ALERT COMES AT THE RIGHT POINT AFTER STEP 2 IF I SELECTED "NO" FOR "Guest_sel". */
alert("Test");
}
current_step = $(this).parent();
next_step = $(this).parent().next();
next_step.show();
current_step.hide();
setProgressBar(++current);
});
$(".previous").click(function(){
current_step = $(this).parent();
next_step = $(this).parent().prev();
next_step.show();
current_step.hide();
setProgressBar(--current);
});
setProgressBar(current);
// Change progress bar action
function setProgressBar(curStep){
var percent = parseFloat(100/steps) * curStep;
percent = percent.toFixed();
$(".progress-bar")
.css("width",percent+"%")
.html(percent+"%");
}
});
</script>
在第6行,我已經設置了正確的if語句(如果(當前== '2' & & $(「輸入[名稱= 」Guest_sel「]:檢查').val()=='否'))。但是我必須在if語句中加入什麼?
我以爲所有的步驟都應該有1-4個數字。如果current_step = $(this).parent()爲「1」,例如,next_step應該是「2」,依此類推。所以我試過current_step = $(this).parent()+ 1;以及類似於if語句的東西,但沒有一個可行。我還嘗試在alert中輸出上面的任何變量來理解存儲在那裏的內容,但只有「undefined」變量。 JavaScript讓我發瘋。 :-(
任何想法把內部的if語句,使其跳過步驟3中的情況下單選按鈕「Guest_sel」 =「否」?謝謝你這麼多傢伙!
'this = $(this).parent()。next();'將它添加到brakets,tha t應該讓它相信它在step3上,所以它會顯示第4步而不是3 – LordNeo
感謝LordNeo!不幸的是,這使得整個事情不再工作。這是奇怪的,我以前也經歷過:如果我將該行插入到if語句中 - 即使條件不是肯定的(沒有選擇「Yes」或「Yes」),整個事情也不再起作用。甚至不能從步驟1繼續到步驟2.無論如何。不知道爲什麼? –
嘗試將代碼放入片段或jsfiddle或codepen中,以便我們可以更好地進行調試。同樣,控制檯應該給你一些關於它的錯誤。 – LordNeo