[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 256
  • Last Modified:

Change Textbox Value on Selected Index Changed DDL not working

HI EE

I need to make a texbox visible only when a selection is not null, (first selection), and then enable a texbox that gets populated with the current date, (user can change the date) I am using an update panel and setting up the autopostback property to true on the dropdown list, the problem is that the texbox is taking the selection on date when I insert to table....

can you please suggest what to do?

Thanks

<td style="width: 286px">
                <label for="recordtype">
                                 *Prepper:</label><asp:DropDownList 
                    ID="txtPreppin" runat="server" CssClass="padding-input" 
                    AutoPostBack="True" onselectedindexchanged="txtPreppin_SelectedIndexChanged">
                    <asp:ListItem Text="-Select-" Value=''>-Select-</asp:ListItem>
                    <asp:ListItem>Acevedo, Noe</asp:ListItem>
                </asp:DropDownList>
                <br />
                <label for="recordtype">
                                 *Date:</label>
<asp:TextBox ID="txtprepDate" runat="server" 
                    Enabled="False" ReadOnly="True"></asp:TextBox>
                <asp:CalendarExtender ID="txtprepDate_CalendarExtender" runat="server" 
                    Enabled="True" TargetControlID="txtprepDate" Format="MM/dd/yyyy">
                </asp:CalendarExtender>
               
                
               
        </td>

   protected void txtPreppin_SelectedIndexChanged(object sender, EventArgs e)
     {

         if (Page.IsPostBack)
         {

             txtprepDate.Text = DateTime.Today.ToString("MM/dd/yyy");
             txtScanDate.Text = DateTime.Today.ToString("MM/dd/yyy");


             if (txtPreppin.SelectedItem.Text != null)
             {
                 txtprepDate.Enabled = true;
                 txtprepDate.ReadOnly = false;
                                  
             }

             else
             {
                 txtprepDate.Enabled = false;
                 txtprepDate.ReadOnly = true;
             }
         }

Open in new window

0
TonyReba
Asked:
TonyReba
1 Solution
 
Lalit ChandraCommented:
This task can be done at the client side (on browser itself),so no need to do a round-trip to the server for this small task.
Simple, put the jquery link on your page and use the following code to achieve the same

$(function() {
      $("#txtbox").css("display","none");  // Hide the textbox on first page Load.

    $("#ddsListName").change(function() {
         if($(this).value != "0") // For the first element
         {
                 $("#txtbox").css("display","block");
         }
         else
         {
               $("#txtbox").css("display","none");
         }
     }
       
    );
});

Now in code behind,simple in the Page_Load event assign the textbox with current date.

That's done.
0
 
TonyRebaAuthor Commented:
Could I change the property to enabled and read only false instead of hidding it?
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now