如何运行绑定到另一个选择器的Jquery函数?

时间:2011-04-17 10:36:46

标签: jquery

我有一段Jquery代码,可以对字段进行大量验证。我目前在.blur()上被解雇了。

由于服务器可以在加载时预先填充此字段,我也想在那时运行该验证,但我不知道如何调用绑定到控件的.blur()函数

这是我的代码,其中大部分内容都是为了简洁起见......

$('#<%=txtCity.ClientID %>').blur(function () {
            $('#txtCityLoader.loader').show();

            if ($('#<%=txtCity.ClientID %>').val().length == 0) {
                //chuck some errors
            }

            $.ajax({
                type: "POST",
                url: "~/AtomicService/Validation.asmx/DoesCityExist",
                data: "{'country':'" + $('#<%=ddlCountry.ClientID%>').val() + "'}",
                contentType: "application/json",
                dataType: "json",
                success: function (msg) {
                    $('#txtCityLoader.loader').hide();
                    if (msg["d"].length > 0) {
                        var data = $.parseJSON(msg.d);
                        if (data.Response == 'True') {
                            //all is well, tick the box
                        } else {
                            //stuff and nonsense
                        }
                    } else {
                        //do some other stuff
                    }
                },
                error: function (msg) {
                    //do stuff
                }
            });
        });

当页面加载并document.ready()触发时,我想运行此功能 - 我该怎么做?

帮助表示赞赏。

3 个答案:

答案 0 :(得分:3)

您需要触发将方法绑定到

的事件
$('#<%=txtCity.ClientID %>').blur()

$('#<%=txtCity.ClientID %>').trigger('blur');

答案 1 :(得分:2)

将模糊功能中的代码移动到单独的方法中。例如:

//Call your function when the document is ready
$(document).ready(yourFunction);

//Call your function on text box blur
$('#<%=txtCity.ClientID %>').blur(yourfunction);

//Your function
function yourFunction()
{
     //Add your existing blur method code and ajax call here
}

答案 2 :(得分:1)

function validate () {             
    $('#txtCityLoader.loader').show();              
    if ($('#<%=txtCity.ClientID %>').val().length == 0) {
             //chuck some errors             
    }              

    $.ajax({ ... });
}

$('#<%=txtCity.ClientID %>').blur(validate);
$(document).ready(validate);