2015-05-26 22 views
1

我有一個窗體有兩個html標籤控件和一個asp.net dropdownlist。 Label1顯示當前日期和下拉列表數據選擇我試圖設置到期日期並在Label2中顯示它。我能夠在一個普通的html頁面中執行此操作,但是當放置在ContentPlaceHolder中時,我的JavaScript無法正常工作。請提供指導 -如何在Content Place Holder中使用JavaScript設置標籤文本屬性?

我的aspx頁面級

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script type="text/javascript" src="http://cdn.jsdelivr.net/json2/0.1/json2.js"></script> 
<script type="text/javascript"> 
     $(function() { 
     $("#ddlvalid").change(function() { 
      var selectvalid = $("#ddlvalid option:selected").text(); 
      if (selectvalid == "Select Validity") { 
       alert("Please Select Validity"); 
      } 
      else if (selectvalid == "Upto 7 Days") { 

       var today = new Date(); 
       var tomorrow = new Date(today); 
       tomorrow.setDate(today.getDate() + 7); 

       var dd = tomorrow.getDate(); 
       var mm = tomorrow.getMonth() + 1; 
       var y = tomorrow.getFullYear(); 

       var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd; 
       document.getElementById('lblenddt').innerHTML = output; 
      } 
      else if (selectvalid == "Upto 15 Days") { 
       var today = new Date(); 
       var tomorrow = new Date(today); 
       tomorrow.setDate(today.getDate() + 15); 


       var dd = tomorrow.getDate(); 
       var mm = tomorrow.getMonth() + 1; 
       var y = tomorrow.getFullYear(); 

       var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd; 
       document.getElementById('lblenddt').innerHTML = output; 
      } 
      else if (selectvalid == "Upto 30 Days") { 
       var today = new Date(); 
       var tomorrow = new Date(today); 
       tomorrow.setDate(today.getDate() + 30); 

       var dd = tomorrow.getDate(); 
       var mm = tomorrow.getMonth() + 1; 
       var y = tomorrow.getFullYear(); 

       var output = tomorrow.getFullYear() + '/' + (mm < 10 ? '0' : '') + mm + '/' + (dd < 10 ? '0' : '') + dd; 
       document.getElementById('lblenddt').innerHTML = output; 
      } 
     }); 

     window.onload = function show() { 
      var d = new Date(); 
      var month = d.getMonth() + 1; 
      var day = d.getDate(); 
      var output = d.getFullYear() + '/' + (month < 10 ? '0' : '') + month + '/' + (day < 10 ? '0' : '') + day; 
      document.getElementById('lblenqmdon').innerHTML = output; 
     }; 
    }); 
</script> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 
<table border="0" cellpadding="0" cellspacing="0"> 
    <tr> 
    <td>Enquiry Made On:</td> 
    <td> 
     <label id="lblenqmdon" runat="server"></label> 
    </td> 
    </tr> 
    <tr> 
    <td>Enquiry Validity:</td> 
    <td><asp:DropDownList ID="ddlvalid" runat="server" onchange="javascript:findDate();"> 
           <asp:ListItem>Select Validity</asp:ListItem> 
           <asp:ListItem>Upto 7 Days</asp:ListItem> 
          <asp:ListItem>Upto 15 Days</asp:ListItem> 
          <asp:ListItem>Upto 30 Days</asp:ListItem> 
       </asp:DropDownList> 
       </td> 
    </tr> 
    <tr> 
    <td>Enquiry Valid Upto:</td> 
    <td> 
     <label id="lblenddt" runat="server"></label> 
    </td> 
    </tr> 
</table> 
</asp:Content> 
+0

嘗試值而不是innerHTML。 document.getElementById('lblenddt')。value = output; –

回答

0

我覺得你的標籤ID不能在JavaScript中使用。

document.getElementById("<%=lblenddt.ClientID%>").innerHTML = output; 
document.getElementById("<%=lblenqmdon.ClientID%>").innerHTML = output 
0

你的jQuery庫在哪裏?它可能是關於你把你的jQuery lib的地方。確保它被放置在此代碼之前

+0

我編輯了我的代碼,你可以檢查。 – Omi

相關問題