2015-11-06 33 views
0

实际上,我使用jquery动态创建ul项下的列表项。提交HTML表单后恢复UI状态

$.each(alltags.departments,function(){ 
    $("#specialitycenters").append('<li>'+this+'</li>'); 
}); 

这里specialitycenters是我的ID。我使用我的alltags.departments附加列表项(来自ajax调用)。

所以我们只要点击一个列表项就可以添加class“selected”。如果有10个列表项,并且我点击了3个li,那么我们将3个“选择”类添加到这3个li中。

var lis = $('.list ul#specialitycenters li').click(function(e){ 
if(!e.ctrlKey) { 
    // Ctrl not pressed, clear previous selections 
    lis.removeClass("selected");  
} 
$(this).addClass("selected");  
}); 
}); 

现在,当我提交我的表单时,这些动态添加的类正在恢复。但是,即使点击提交按钮后,我仍然需要将“选定”类保留在点击列表项目中。我怎样才能实现这个目标?

+0

当你说“当我提交我的表单这些动态添加的类正在恢复“,你是否实际提交表单并重新加载页面? – DelightedD0D

+0

是的,我提交表单并重新加载页面,然后添加的类正在消失。 – Vamshi

回答

0

发生这种情况的原因是,当您提交表单时,浏览器会将数据提交给服务器并加载数据发送到的新版本页面。

你有两个选择:

  1. 不要提交表单,使用Ajax将数据发送到服务器(最好的选择,这样做的一个)
  2. 提交表单前,店一些关于你的用户界面在浏览器中使用cookie或本地存储等数据,提交表格,使用存储的数据来重置你的用户界面(你可以,但不要,这是什么ajax是...)