我今天有一个逻辑问题。我有一个基于.load的表单,它运行得很好。我有点坚持的是根据加载的表单区域的位置加载标题。 我的“下一步”按钮工作正常,因为我已经加载了每个区域的验证。例如
$('#next').click(function()
{
if(question_pos==0)
{
question_pos+=1;
$("#title_area").load("bl_forms.jsp #area_title1");
showContent(question_pos,"right");
return true;
}
});
现在我需要的是后退按钮,根据位置加载正确的标题。 这是我的后退按钮,
$('#back').click(function()
{
if(question_pos>=2 && question_pos<=25)
{
question_pos-=1;
showContent(question_pos,"left");
return true;
}
});
我需要从区域pos 1-2加载标题1,从区域pos 3-7加载标题2,从区域pos 4-6加载标题4,依此类推。我只需要一个如何添加标题加载到后退功能的示例。 如果混淆了,
if(question_pos>=2 && question_pos<=25)
{
是否只是为了防止后退按钮更改位置在pos 2之前和位置25之后。
/*New edit*/
添加回调怎么样?
之类的东西$('#back').click(function(){
if(question_pos>=2 && question_pos<=2){
question_pos-=1;
showContent(question_pos,"left");
('#back').callback(function(){
if(question_pos<=1 && question_pos>=2){
$("#title_area").load("bl_forms.jsp #area_title1");
}else if (question_pos<=3 && question_pos>=7){
$("#title_area").load("bl_forms.jsp #area_title2");
}else if (question_pos<=8 && question_pos>=10){
$("#title_area").load("bl_forms.jsp #area_title4");
}else if (question_pos<=11 && question_pos>=12){
$("#title_area").load("bl_forms.jsp #area_title4");
}else if (question_pos==13 || question_pos<=16){
$("#title_area").load("bl_forms.jsp #area_title4");
}else if (question_pos==17 || question_pos<=19){
$("#title_area").load("bl_forms.jsp #area_title4");
}else if (question_pos==20 || question_pos<=21){
$("#title_area").load("bl_forms.jsp #area_title4");
}else if (question_pos==22 || question_pos<=25){
$("#title_area").load("bl_forms.jsp #area_title4");
}
}
});
也许某些东西允许一堆额外的if语句,或某些允许
的东西答案 0 :(得分:0)
if(question_pos==1 || question_pos==2){
$("#title_area").load("bl_forms.jsp #area_title1");
}else if (question_pos==3 || question_pos==7){
$("#title_area").load("bl_forms.jsp #area_title2");
}else if (question_pos==4 || question_pos==6){
$("#title_area").load("bl_forms.jsp #area_title4");
}
答案 1 :(得分:0)
你可以尝试类似的东西:
var areas = [
{ start: 1, end: 2, page: '#area_title1' },
{ start: 3, end: 7, page: '#area_title2' },
{ start: 4, end: 6, page: '#area_title4' }
// and so on...
];
for ( var i = 0, l = areas.length; i < l; i++ ) {
var area = areas[i];
if ( question_post >= area.start || question_post <= area.end ) {
$('#title_area').load( 'bl_forms.jsp ' + area.page );
break;
}
}
通过这种方式,您只需更新您的页面数组,而循环永远不会更改。