大家好,我从网上获取了以下代码,并根据我的需要进行了修改,但没有按预期工作。
var lastValue;
$("#changer").bind("click", function(e){
lastValue = $(this).val();
}).bind("change", function(e){
changeConfirmation = confirm("Really?");
if (changeConfirmation) {
// Proceed as planned
} else {
//$(this).val(lastValue);
DummyFun();
}
});
function DummyFun()
{
alert(lastValue);
$(this).val(lastValue);
}
以下是我来自的代码,它工作正常fiddle。我怎样才能使我的工作像小提琴一样?
答案 0 :(得分:1)
您不能在DummyFun函数中使用$(this)
来引用select元素,因为它超出了范围。
function DummyFun()
{
alert(lastValue);
$("#changer").val(lastValue);
}
答案 1 :(得分:1)
问题是DummyFun功能。 this
并不是指元素输入不再在范围内。 this
指的是调用函数的内容。使用以下内容:
var lastValue;
$("#changer").bind("click", function(e){
lastValue = $(this).val();
}).bind("change", function(e){
changeConfirmation = confirm("Really?");
if (changeConfirmation) {
// Proceed as planned
} else {
//$(this).val(lastValue);
DummyFun(e.currentTarget);
}
});
function DummyFun(target)
{
alert(lastValue);
$(target).val(lastValue);
}