我有一个表格分为几个divs
。我使用jquery来显示相关部分,并在点击页面的下一个按钮时隐藏该部分以显示下一个部分。
由于它是部分表单,我只需要重置表单的一部分。
用户选择一个类别,然后转到下一页,选择一个子类别并继续。下一页是一个申请表,但是用户决定更改子类别,因此他返回页面并更改子类别。
在这种情况下,表单需要重置应用程序表单部分,但所选类别必须保持不变。
表单分为不同的部分,其中div和表的id在jquery事件中使用。但我无法为每个页面创建不同的表单。
答案 0 :(得分:4)
那么,您不想使用服务器端逻辑重置这些部分吗?我对么? 假设您能够检测到用户来自哪里的页面,并且只需要重置相应的部分,我将如何思考: -
定义用于获取子部分(用于重置)的函数,如下所示: -
//These two functions return the ids of the divs which need to be ignored
function getApplicationPart()
{
//Assuming there are multiple sections to be reset
var sections = ["Banana", "Orange", "Apple", "Mango"];
return sections;
}
function getSubCategoryPart()
{
var sections = ["Potato", "Onion"];
return sections;
}
定义一个将执行必要重置的函数
function resetSections(sectionsArray)
{
$.each(sectionsArray, function(index, value) {
//reset the values of all child input tags (inputs inside the section holding div)
$("#"+value).children("input").val("");
});
//define any other hiding thing you need to do here
}
现在,您只需决定要重置哪些部分并相应地调用resetSections()函数。像这样: -
if((subcategoryPage)&&(comingfromApplicationPage))
{
resetSections(getApplicationPart());
}
希望这有帮助。