我单击一个选择元素,然后出现选项。我单击一个选项,然后出现一个提示对话框,带有“确定”和“取消”按钮。如果用户选择“确定”,则select元素将更改其选项,否则不会更改。
我曾尝试过以下解决方案,但没有成功。也许问题是我不确定e.preventDefault()
语句。我该如何解决?什么是最佳做法?
var deferred = function () {
return new Promise((resolve, reject) => {
try {
//a prompt dialog box appears with 'ok' and 'cancel' button
//user clicked cancel so returning false
return resolve(false);
} catch (error) {
reject(error);
}
return reject(new Error('error'));
});
}
$('#my_selectList').on('change', function (e) {
deferred().then((data) => {
if (!data) {
//prevent the select list from changing its options.
e.preventDefault();
}
}).catch((data) => {
return false;
});
});