我成功设置了this source的4步php表单。 只有我遇到一个任务有问题:在第一页,我插入了一个单选按钮。根据选择(“是”或“否”),应跳过步骤3。
我已经尝试了2个小时并在网上搜索 - Java Script不是我的力量。我怎么能实现它?在我正在使用的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语句(if(current =='2'&amp;&amp; $('input [name =“Guest_sel”]:checked')。val()== '否'))。但是我必须把它放在if语句中?
我的想法是所有步骤都应该有1-4的数字。如果 current_step = $(this).parent()例如为“1”,则 next_step 应为“2”,依此类推。所以我在if语句中尝试了 current_step = $(this).parent()+ 1; 和类似的东西,但没有一个工作。我还尝试在警报中输出上面的任何变量,以了解存储在那里的内容,但只获得“未定义”变量。 JavaScript让我发疯。 : - (
如果单词格式为“Guest_sel”=“No”,那么在if语句中输入的内容是什么?非常感谢你们!
答案 0 :(得分:1)
好的,我明白了。花了我一会儿,但感谢JSFiddle的tipp。工作文件在这里:http://jsfiddle.net/gkxvLs9u/3/
next_step = $(this).parent()。next()。next()做了诀窍:
$(".next").click(function(){
current_step = $(this).parent();
if(current=='2' && $('input[name="Guest_sel"]:checked').val()=='No') {
next_step = $(this).parent().next().next();
++current;
} else {
next_step = $(this).parent().next();
}
next_step.show();
current_step.hide();
setProgressBar(++current);
});