2015-05-18 15 views
0

我的Web表單上有兩個Label控件和一個下拉列表。我在Label1中顯示當前日期,我想根據選擇的下拉列表在Label2中顯示到期日期。我想要做的是我想在Label2中顯示從dropdownlist中選擇數據的失效日期,即如果「Upto 7 Days」然後7Days將被添加到當前日期並且新日期將顯示在Label2內。如何使用Asp.net中的Javascript使用DropDownlist中的數據選擇來設置標籤文本屬性

我的aspx頁面級

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
<script type="text/javascript"> 
$("#ddlvalid").change(function() { 
     var selectvalid = $("#ddlvalid option:selected").text(); 
     if (selectvalid == "Select Validity") { 
      alert("Please Select Validity"); 
     } 
     else if (selectvalid == "Upto 7 Days") { 
      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; 
      var valdate = 7; 
      var expdate = d.setDate(day + valdate); 
      document.getElementById('lblenddt').innerHTML = expdate; 
     } 
     else if (selectvalid == "Upto 15 Days") { 
      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; 
      var valdate = 15; 
      var expdate = d.setDate(day + valdate); 
      document.getElementById('lblenddt').innerHTML = expdate; 
     } 
     else if (selectvalid == "Upto 30 Days") { 
      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; 
      var valdate = 30; 
      var expdate = d.setDate(day + valdate); 
      document.getElementById('lblenddt').innerHTML = expdate; 
     } 
    }); 
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> 
<body> 
<div> 
    <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"> 
           <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> 
</div></body> 
</html> 

我的Javascript代碼是行不通的。請指導我在哪裏做錯了?

+1

你檢查是什麼錯誤你在接收你的javascript? –

+1

你的標籤在哪裏關閉? – Reena

+0

什麼是錯誤? – Max

回答

1

嘗試這個

<script type="text/javascript"> 
    function findDate() { 

     var selectvalid = document.getElementById("<%=ddlvalid.ClientID %>").value; 

     if (selectvalid == "Select Validity") { 
      alert("Please Select Validity"); 
     } 
     else if (selectvalid == "Upto 7 Days") { 

      var str = document.getElementById("<%=lblenqmdon.ClientID %>").innerHTML; 
      var parts = str.split('/'); 

      var month = parts[0] && parseInt(parts[0], 10); 
      var day = parts[1] && parseInt(parts[1], 10); 
      var year = parts[2] && parseInt(parts[2], 10); 

      var duration = 7; 

      if (day <= 31 && day >= 1 && month <= 12 && month >= 1) { 
       var expiryDate = new Date(year, month - 1, day); 
       expiryDate.setDate(expiryDate.getDate() + duration); 

       var day = ('0' + expiryDate.getDate()).slice(-2); 
       var month = ('0' + (expiryDate.getMonth() + 1)).slice(-2); 
       var year = expiryDate.getFullYear(); 
       document.getElementById("<%=lblenddt.ClientID %>").innerHTML = month + "/" + day + "/" + year; 

      } 
     } 
     else if (selectvalid == "Upto 15 Days") { 

      var str = document.getElementById("<%=lblenqmdon.ClientID %>").innerHTML; 
      var parts = str.split('/'); 

      var month = parts[0] && parseInt(parts[0], 10); 
      var day = parts[1] && parseInt(parts[1], 10); 
      var year = parts[2] && parseInt(parts[2], 10); 

      var duration = 15; 

      if (day <= 31 && day >= 1 && month <= 12 && month >= 1) { 
       var expiryDate = new Date(year, month - 1, day); 
       expiryDate.setDate(expiryDate.getDate() + duration); 

       var day = ('0' + expiryDate.getDate()).slice(-2); 
       var month = ('0' + (expiryDate.getMonth() + 1)).slice(-2); 
       var year = expiryDate.getFullYear(); 
       document.getElementById("<%=lblenddt.ClientID %>").innerHTML = month + "/" + day + "/" + year; 

      } 

     } 
     else if (selectvalid == "Upto 30 Days") { 

      var str = document.getElementById("<%=lblenqmdon.ClientID %>").innerHTML; 
      var parts = str.split('/'); 

      var month = parts[0] && parseInt(parts[0], 10); 
      var day = parts[1] && parseInt(parts[1], 10); 
      var year = parts[2] && parseInt(parts[2], 10); 

      var duration = 30; 

      if (day <= 31 && day >= 1 && month <= 12 && month >= 1) { 
       var expiryDate = new Date(year, month - 1, day); 
       expiryDate.setDate(expiryDate.getDate() + duration); 

       var day = ('0' + expiryDate.getDate()).slice(-2); 
       var month = ('0' + (expiryDate.getMonth() + 1)).slice(-2); 
       var year = expiryDate.getFullYear(); 
       document.getElementById("<%=lblenddt.ClientID %>").innerHTML = month + "/" + day + "/" + year; 

      } 
     } 
    } 
</script> 
<script type="text/javascript"> 

    window.onload = function() { 
     getDate(); 
    }; 

    function getDate() { 
     var dt = new Date(); 
     var day = dt.getDate(); 
     var month = dt.getMonth() + 1; 
     var year = dt.getFullYear(); 
     document.getElementById("<%=lblenqmdon.ClientID %>").innerHTML = month + "/" + day + "/" + year; 
    } 
</script> 

上和形式上

   <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> 
+0

非常感謝Hiral。雖然我設法以不同的方式做同樣的事情。但你的方式也是正確的。再次感謝您的支持:-) 乾杯。 。 – Omi

0

我設法做同樣這樣的 - $(函數(){

<script type="text/javascript">   
$("#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> 
相關問題