2011-02-04 15 views
3

ajaxカスケードドロップダウンを使用してWebサービスによって入力されるドロップダウンリストがあります。私はjavascriptを使用して選択した値を設定することができませんでした。 JavaScriptの実行時に値が存在しないようです。私はaspxページの下部にJavaScriptを配置しました。何か案は。ここに私が試したコードとJavaScriptのすべてがあります。Javascriptを使用してドロップダウンリストにselectedvalueを設定します。

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

答えて

1

いいえ、コードビハインドから値を設定することはできません。 Webサービスからバインドする場合は、JavaScriptを使用して選択した値を設定する必要があります。 Webサービスは、サーバー側のプロセスが実行された後にすべてをバインドし、javascriptの影響を受けるだけです。

HTH。

+0

ありがとうございました。 – Mike

+0

コードサンプルを提供することができます。私が試みたものはすべて動作しません。 aspxページの一番下にjavascriptブロックを追加しました。 javascriptの実行時にフィールドオプションが存在しないようには見えません。 – Mike

関連する問題