Set selected value for dropdown using javascript

I have a dropdown that is populated by a web service using the ajax cascading dropdown. I could not set the selected value using javascript. It seems that the values ​​do not exist when javascript is run. I placed javascript at the bottom of the aspx page. Any ideas. Here is all the code and javascript I've tried.

<asp:DropDownList ID="ddlBusinessArea" runat="server"></asp:DropDownList>
<cc1:CascadingDropDown ID="CascadingDropDown1" runat="server" TargetControlID="ddlBusinessArea" 
    Category="BusinessArea" ServiceMethod="GetBusinessArea" ServicePath="DropDownFilter.asmx" 
    LoadingText="Please Wait.....">
</cc1:CascadingDropDown>

<WebMethod()> _
Public Function GetBusinessArea() As CascadingDropDownNameValue()
    Dim values As New List(Of CascadingDropDownNameValue)()
    Dim objData As clsDataAccess = New clsDataAccess()
    Dim ds As DataSet = New DataSet
    Dim SQL = "select Description from tblvalidation where MyType = 'Business Area' order by description"
    ds = objData.SQLExecuteDataset(SQL)

    For Each dr As DataRow In ds.Tables(0).Rows
         values.Add(New CascadingDropDownNameValue(dr("Description"), dr("Description")))
    Next
    Return values.ToArray
End Function

<script type="text/javascript">

   var e = document.getElementById("<%=ddlBusinessArea.ClientID%>"); 
   e.options[e.selectedIndex].value = "12345"

  document.getElementById("<%=ddlBusinessArea.ClientID%>").value = "12345"
  document.getElementById("ctl00_ContentPlaceHolder2_ddlBusinessArea").value = "12345"
</script>
+3
source share
1 answer

No, you cannot set the value from the code; you will need to use JavaScript to set the selected value when binding to the web service. The web service binds everything after starting on the server side and can only be affected by javascript.

NTN.

+1

Source: https://habr.com/ru/post/1790012/


All Articles