how to use document.ready function on child pages

僤鯓⒐⒋嵵緔 提交于 2019-12-11 19:17:15

问题


i need to use JavaScript on my website. When i create new web page,which is properly work with JavaScript. When i create a new web page, which is child page, derived from master page. this page does not support my JavaScript. I use this code for auto-complete property for multiple words.

My code is here:

JavaScript code in content place holder in header

<%@ Page Language="C#" MasterPageFile="~/Master_Front.master" AutoEventWireup="true"
    CodeFile="Mailbox.aspx.cs" Inherits="Mailbox" Title="Mail System" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">

    <link href="Style/ui-lightness/jquery-ui-1.8.21.custom.css"rel="stylesheet" type="text/css" />
    <script src="script/jquery.min.js" type="text/javascript"></script>
    <script src="script/jquery-ui.min.js" type="text/javascript"></script> 
        <script type="text/javascript">
        $(document).ready(function() {
            SearchText();
        });
        function SearchText() {
            $("#txtto").autocomplete({
                source: function(request, response) {
                    $.ajax({
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        url: "Mailbox.aspx/GetAutoCompleteData",
                        data: "{'username':'" + extractLast(request.term) + "'}",
                        dataType: "json",
                        success: function(data) {
                            response(data.d);
                        },
                        error: function(result) {
                            alert("Error");
                        }
                    });
                },
                focus: function() {
                    // prevent value inserted on focus
                    return false;
                },
                select: function(event, ui) {
                    var terms = split(this.value);
                    // remove the current input
                    terms.pop();
                    // add the selected item
                    terms.push(ui.item.value);
                    // add placeholder to get the comma-and-space at the end
                    terms.push("");
                    this.value = terms.join(", ");
                    return false;
                }
            });
            $("#txtto").bind("keydown", function(event) {
                if (event.keyCode === $.ui.keyCode.TAB &&
                        $(this).data("autocomplete").menu.active) {
                    event.preventDefault();
                }
            })
            function split(val) {
                return val.split(/,\s*/);
            }
            function extractLast(term) {
                return split(term).pop();
            }
        }
    </script>
</asp:Content>

C# code:

[WebMethod]
public static List<string> GetAutoCompleteData(string user_name)
{
    List<string> result = new List<string>();
    SqlDataReader dr=General.ReturnDR("select DISTINCT mailid from UserDetails where mailid LIKE '%"+user_name+"%'");
    while (dr.Read())
    {
        result.Add(dr["mailid"].ToString());
    }
    return result;
}

回答1:


You can put all script in document.ready so that the elements are ready when script acces them.

$(document).ready(function(){
    //put all your script of child page here.
});


来源:https://stackoverflow.com/questions/15756308/how-to-use-document-ready-function-on-child-pages

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!