Как отменить выбор выпадающего списка при нажатии кнопки отмены с помощью jQuery?
Привет, ребята, я получил следующий код из сети и был изменен в соответствии с моей потребностью, но не работал должным образом.
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);
}
Вот код, где я получил от и она работает нормально скрипку. Как я могу работать как на скрипке?
Проблема заключается в функции 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);
}
Вы не можете использовать $(this)
в своей функции DummyFun, чтобы ссылаться на элемент select, потому что это вне сферы действия.
function DummyFun()
{
alert(lastValue);
$("#changer").val(lastValue);
}