Javascript 选择值列表时返回浏览器按钮
提交表单后单击浏览器后退按钮时,我试图保留下拉选择中的值列表。我试着使用Ben Alman的bbq jquery,但没有成功。我一直在尝试的。请帮忙 非常感谢 HTMLJavascript 选择值列表时返回浏览器按钮,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,提交表单后单击浏览器后退按钮时,我试图保留下拉选择中的值列表。我试着使用Ben Alman的bbq jquery,但没有成功。我一直在尝试的。请帮忙 非常感谢 HTML 姓名号码 A. B C 1. 2. 3. JQuery: var selected_value = []; $('#mynumber').change(function() { var name = $('#myname').val(); var number = $('#mynumber').val();
姓名号码
A.
B
C
1.
2.
3.
JQuery:
var selected_value = [];
$('#mynumber').change(function() {
var name = $('#myname').val();
var number = $('#mynumber').val();
$("#tabName tr:last").before("<tr><td>" + name + "</td><td>" + number + "</td></tr>");
selected_value.push(name);
});
$('#formName').submit(function() {
$.bbq.pushState({
values: selected_value
});
//return false;
});
$(window).bind("hashchange", function(e) {
var values = $.bbq.getState("url");
if (selected_value === values) {
$(this).addClass("current");
} else {
$(this).removeClass("current");
}
});
var选择值=[];
$('#mynumber')。更改(函数(){
var name=$('#myname').val();
var number=$('#mynumber').val();
$(“#tabName tr:last”)。在(“+name+”“+number+”)之前;
选择的_值。推送(名称);
});
$('#formName')。提交(函数(){
$.bbq.pushState({
值:选定的值
});
//返回false;
});
$(窗口).bind(“hashchange”,函数(e){
var值=$.bbq.getState(“url”);
如果(所选值===值){
$(此).addClass(“当前”);
}否则{
$(此).removeClass(“当前”);
}
});
基于location.hash的我的解决方案(没有cookie或localStorage):
function addRow(name, number){
$("#tabName tr:last").before("<tr><td>" + name + "</td><td>" + number + "</td></tr>");
}
$(function(){
if(location.hash){
var rows = location.hash.substr(1).split(';');
for(var i = 0; i < rows.length; i++){
var row = rows[i].split(',');
if(row.length == 2){
addRow(row[0], row[1]);
}
}
}
$('#mynumber').change(function() {
var name = $('#myname').val();
var number = $('#mynumber').val();
location.hash = location.hash + (location.hash ? ';' : '') + name + ',' + number;
addRow(name, number);
});
});
函数addRow(名称、编号){
$(“#tabName tr:last”)。在(“+name+”“+number+”)之前;
}
$(函数(){
if(location.hash){
var rows=location.hash.substr(1.split(“;”);
对于(变量i=0;i
我认为它符合你的要求——如果没有,请在评论中给我一些反馈
$('#formName').submit(function() {
$.bbq.pushState({
values: selected_value
});
//return false;
});
应该是
$('#formName').submit(function() {
$.bbq.pushState({
values: selected_value
});
//return false;
});
var values = $.bbq.getState("values");
及
应该是
$('#formName').submit(function() {
$.bbq.pushState({
values: selected_value
});
//return false;
});
var values = $.bbq.getState("values");
请将您的代码放在这里,而不仅仅是链接到jsfiddle您尝试过任何cookies/localStorage解决方案吗?@DGT您不能在页面刷新时简单地从服务器发送这些值吗?ad.1 JS对象会将所有键静默地转换为字符串,这样您就不必放置“无处不在”了!谢谢。抱歉,无法提前回复您。抱歉,忘记单击赏金图标。