我想备份文本框值以允许表格过滤。当用户按退格键并将文本框保留为空时,我想放置之前备份的先前值:
vbackup存储初始文本框值,这是jsfiddle中的“hello”。
$('#btn').click(function () {
$('#mydiv').slideToggle('fast', function () {
// I SAVE THE TEXTBOX VALUE SO THAT I CAN
// GET IT BACK AFTERWARDS
var vbackup = $('#txtbox').val();
alert(vbackup);
if ($(this).is(":visible")) {
// NO MATTERS...
}
else {
// IF TEXTBOX VALUE IS EMPTY I GET THE PREVIOUS
// VALUE BACK
if ($('#txtbox').val() == '') {
// VBACKUP IS EMPTY !!
alert(vbackup );
$('#txtbox').val(vbackup );
}
}
});
return false;
});
我无法理解为什么我的vbackup变量与文本框实际值匹配,因为我早先备份了。
步骤:
答案 0 :(得分:1)
查看更新的http://jsfiddle.net/QFQ5k/21/
$('#mydiv').hide();
var vbackup = $('#txtbox').val();
$('#btn').click(function () {
$('#mydiv').slideToggle('fast', function () {
alert(vbackup);
if ($(this).is(":visible")) {
}
else {
if ($('#txtbox').val() == '') {
// In this alert vbackup
// is empty !!
$('#txtbox').val(vbackup );
}
else
vbackup = $('#txtbox').val();
}
});
return false;
});
答案 1 :(得分:0)
这样的事情(将值存储在html节点的属性中)也可以。另外,它没有使用全局变量(yay)。
// this is equal to #mydiv
this.vbackup = $("#txtbox").val()
在此处查看演示:http://jsfiddle.net/QFQ5k/25/
答案 2 :(得分:0)
$("#mydiv").hide();
$('#btn').click(function () {
$('#mydiv').slideToggle('fast', function () {
var value = $('#txtbox').val() || $(this).data("value");
if ( !$(this).is(":visible") && !$('#txtbox').val() ) {
$('#txtbox').val( value );
}
$(this).data("value", value);
});
return false;
});