簡體   English   中英

javascript頁面加載后看不到html

[英]javascript not seeing html after page load

我正在從具有基於工會類型的條件薪水報告的數據庫中創建動態工作列表。 為了處理條件語句,我決定在cs頁面的pageload部分中的構建數據集,以輸出到aspx頁面上的標簽。 所有工作均按預期進行。 當我嘗試在HTML上運行JQuery或Javascript以折疊並展開職位以顯示要求時,就會出現問題。 使用JQuery,JS和Ajaxtookit有很多方法可以做到這一點。 所有這些在靜態HTML上都像是一種魅力。 但是.Net在我的輸出中添加了一個span標簽,這會在布局中投入一把扳手,從而導致腳本無法正常工作。 然后,我添加了一個JQ函數以刪除span標記,然后運行其他腳本(所有腳本都放置在頁面底部,以便在加載頁面后調用它們)。 Document.ready或window.load均無效。 看來頁面加載和頁面渲染狀態可能是問題所在。 寫入HTML后,如何讓JQ和JS看到html? 謝謝

CS:

 protected void Page_Load(object sender, EventArgs e)
    {

        String strConnString96 = WebConfigurationManager.ConnectionStrings["JobList_ConnectionString"].ConnectionString;
        OleDbConnection con96 = new OleDbConnection(strConnString96);
        OleDbCommand cmd96 = new OleDbCommand("SELECT * FROM JOBS WHERE (Status = 'Open') AND (Approved = 'Yes')", con96);
        OleDbDataAdapter da96 = new OleDbDataAdapter(cmd96);
        DataTable dtJobList = new DataTable();
        da96.Fill(dtJobList);
        con96.Close();

         if (dtJobList == null || dtJobList.Rows.Count == 0)
            lblJobList.Text = "<h3>No positions available at this time.</h3>";

         if (dtJobList != null && dtJobList.Rows.Count > 0)
         {
             System.Text.StringBuilder sb1 = new System.Text.StringBuilder();

             int i = 0;
             foreach (DataRow row in dtJobList.Rows)
             {

                 string JobTitle = row["Job_Title"].ToString();
                 string Func = row["Functions"].ToString();
                 string Qual = row["Qualifications"].ToString();
                 string ReqNum = row["Req_Number"].ToString();
                 string Low = row["Low_Range"].ToString();
                 string High = row["High_Range"].ToString();
                 string SalType = row["Salary_Type"].ToString();
                 string Union = row["Union"].ToString();
                 i++;



                 sb1.Append("<div id='JobNbr-" + i + "'><h4>" + JobTitle + "</h4><h5>Essential Functions</h5><p>" + Func + "</p><h5>Qualifications</h5><p>" + Qual + "<p>");

                 if (Union == "Executive" || Union == "Local 6" || Union == "C93")
                 {

                     sb1.AppendLine("<h5>Starting Salary</h5><p>" + Low + " - " + High + " <i>(" + SalType + ")</i>");                                                                         
                 }

                 else
                 {
                     sb1.AppendLine("<h5>Starting Salary</h5><p>" + High + " <i>(" + SalType + ")</i>");

                 }

                 sb1.AppendLine("<a href='/HR_WebForm/HR_Form.aspx?Req_Number=" + ReqNum + "&Job_Title=" + JobTitle + "'><img src='/Resources/icons/apply.gif' alt='Apply' /></a></p></div>");

                 lblJobList.Text = sb1.ToString();
             }


         }
    }

ASPX:

<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolderMain" runat="server">



<h1>Employment</h1>

   <div id="Employment">
    <h2>Join New England's largest retail water &amp; sewer provider!</h2>

<h2>How to Apply:</h2>

<ol><li>Submit your resume and cover letter online, please send attachments in PDF or Microsoft Word format, if not please fax to 617-989-7754 OR</li>

<li>Visit our Human Resources Department at 980 Harrison Avenue Boston, MA 02119</li></ol>

<p>We are located on several MBTA bus routes and visitors' parking is available on-site. Our office is open Monday through Friday, 8:00AM to 5:00PM.
</p>

<p>Come join our team!</p>

<h2>Current Openings</h2>

<div id="CurrentOpenings">

    <a id="On" name="On" onclick="openAll('CurrentOpenings', 'h4','');" href="#_" class="hideIfNoJS">Open All</a>
    <a id="Off" name="Off" onclick="closeAll('CurrentOpenings', 'h4','');" href="#_" class="hideIfNoJS">Close All</a>

<asp:Label ID="lblJobList" runat="server" Text="Label" />


</div>

    <script>window.onload = "setCollapseExpand('CurrentOpenings', 'h4',''); revealControl('On'); revealControl('Off');"</script>
<script type="text/javascript" src="/JScode/expandcollapse.js"></script>
</asp:Content>

您正在將window.onload設置為字符串。

window.onload = "setCollapseExpand('CurrentOpenings', 'h4',''); revealControl('On'); revealControl('Off');"</script>

期待功能。 由於您已標記此jquery,因此請使用它。

$(window).on("load", function () {
    setCollapseExpand('CurrentOpenings', 'h4','');
    revealControl('On');
    revealControl('Off');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM