我有一个jQuery UI滑块,它基本上检查用户是否输入了数据,然后在没有的情况下显示警告。问题是,警报显示正常,但是当我按下警告框上的关闭时,滑块跳转到另一个随机值,警报框再次显示。似乎没有任何模式。
任何输入都将不胜感激,代码如下:
jQuery( document ).ready(function() {
jQuery("button.compareLoans").hide();
jQuery("p.toBorrow").hide();
jQuery( "#slider" ).slider({
value:2000,
min: 100,
max: 10000,
step: 100,
slide: function( event, ui ) {
if( !$( "#age" ).val() ) {
alert("Please Enter Your Age");
}
else if ( !$( "#name" ).val() ) {
alert("Please Enter Your Name");
}
else if ( !$( "#email" ).val() ) {
alert("Please Enter Your Email");
}
else {
jQuery( "#amount" ).val( ui.value );
jQuery( "p.loanSummary" ).text("Searching for loan amount €" + ui.value);
jQuery("button.compareLoans").show();
jQuery("p.toBorrow").show();
jQuery(".userData").fadeOut("slow");
jQuery.post(
MyAjax.ajaxurl,
{
action : "myajax-submit",
postID : MyAjax.postID,
postCommentNonce : MyAjax.postCommentNonce,
amount : $( "#slider" ).slider( "value" ),
age : $( "#age" ).val(),
},
function( response ) {
$("#content_update").html(response);
}
);
}
}
});
答案 0 :(得分:1)
移动滑块时会多次触发幻灯片事件。因此,如果你移动滑块它会第一次触发,你取消警报并立即再次触发。
您可能希望查看停止事件:http://api.jqueryui.com/slider/#event-stop
只有在用户释放滑块后才会触发。