我正在使用jQuery validate插件,并希望在成功时返回一个随机值。
现在我正在尝试使用:
var success_message = new Array ();
success_message[0] = "Good!";
success_message[1] = "Ok!";
success_message[2] = "Great!";
success_message[3] = "Perfect!";
success_message[4] = "Nice!";
success_message[5] = "Awesome";
var i = Math.floor(5*Math.random())
然后我需要输出我使用的值:
$(document).ready(function(){
var validator = $(".contactform").validate({
success: function(label) {
label.addClass("valid").text(success_message[i])
}
}); //end form validate code
});
这会选择一个随机值,但会为每个成功消息使用相同的值,而不是为每个字段选择不同的值。
答案 0 :(得分:83)
您可以存储messages
数组并计算要显示的消息,如下所示:
var messages = ["Good!", "Great!", "Awesome!", "Super!", "Nice!"];
function getMessage() {
return messages[Math.floor(Math.random() * messages.length)];
}
Give it a try here,然后只需拨打.text()
来电getMessage
,就像这样:
label.addClass("valid").text(getMessage());
答案 1 :(得分:6)
我们可以将方法添加到数组中。
Array.prototype.getRandomVal = function(){
return this[Math.floor(Math.random()*this.length)];
};
messages.getRandomVal();
答案 2 :(得分:4)
function sucess() {
message = ["Good!","Awesome!","Super!","Nice!","Great!"];
return message[Math.floor(Math.random() * message.length)];
}
$(document).ready(function(){
var validator = $(".contactform").validate({ ...
success: function(label) {
label.addClass("valid").text(success());
}
}); //end form validate code
});