请在我的代码中提供帮助。 我编写了一个从选择器中选择项目的函数,并且在更改它时将运行一个函数。 我在这里面临两个问题,首先我想在不使用任何HTML的情况下用Js或Jquery中的其他小部件更改提示,因为提示是如此愚蠢,如果用户阻止警报,这将是一个大问题。 第二个问题,我有一个条件,如果来自提示的字符串不是我想要的那么它不应该选择另一个项目并保持在第一个1。 这是我的JS代码:
self.$('#cashier-select')
.change(function () {
new instance.web.Model("res.users").call('get_pincode', [this.value]).done(
function (results) {
var person = prompt("Please enter your pin code", "");
if (person == results) {
var id = this.value;
self.cashier_change(id);
}
else {
alert("In Vaild noob");
self.cashier_change(globalCashier);
}
console.log("person " + results);
});
});
cashier_change: function (id) {
globalCashier = id;
new instance.web.Model("res.users").call('get_pincode', [id]).done(
function (results) {
console.log(results);
});
var name = $('select#cashier-select>option[value="' + globalCashier + '"]').text();
$('#pay-screen-cashier-name').html(name);
$('.username').text(name);
if (name != '') {
$('.gotopay-button').removeAttr('disabled');
} else {
$('.gotopay-button').attr('disabled', 'disabled');
}
},
注意我使用Jquery创建选择器我没有使用任何HTML:)
提前致谢。
答案 0 :(得分:1)
有各种各样的jquery插件。大多数alert plugins found here也可以用作prompt
。
您可以使用SweetAlert(众多警报/提示插件之一)来实现您的目标。
$("button").on("click", prompt);
function prompt() {
//Example taken directly from the SweetAlert main page
swal({
title: "An input!",
text: "Write something interesting:",
type: "input",
showCancelButton: true,
closeOnConfirm: false,
animation: "slide-from-top",
inputPlaceholder: "Write something",
inputType: "password"
}, function(inputValue) {
if (inputValue === false) return false;
if (inputValue === "") {
swal.showInputError("You need to write something!");
return false
}
swal("Nice!", "You wrote: " + inputValue, "success");
});
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Prompt Me!</button>