2016-04-19 7 views
0

私はClassic ASPとJavaScriptで作業しています。JavaScriptを使用してストアドプロシージャによって設定されているドロップダウンリストの値を削除または非表示にしますか?

私は2つのドロップダウンリスト:Dropdownlist1Dropdownlist2を持っています。最初のドロップダウンリストには企業のリストが表示され、2番目のドロップダウンリストには部門が表示されます。

ユーザが1番目のドロップダウンリストから会社Aを選択すると、すべての部門が表示されます。

ユーザーが1番目のドロップダウンリストから会社Bを選択すると、2番目のドロップダウンリストに2つの部署が表示されなくなります。

ドロップダウンはストアドプロシージャから作成されます。

どうすればいいですか?

+0

このフィールドにデータを入力するためにAJAX呼び出しを使用していますか? – rcdmk

+0

これまでに試したことを示すために使用しているコードを含めてください。 –

答えて

1

で行くには二つの方法があります:

あなたが最初のもの(つまり、ほとんどの人はどうなるのかだ)の選択を渡すことによって、あなたの2番目のドロップダウンのためのオプションを取得するための要求を行うためにAJAXを使用することができます。それは(テストしていません!)あなたのJSに次のようになります

/some-asp-file.asp中(編集以下の例では、jQueryのを使用していることを言及するのを忘れてしまった)

$('select#company').on('change', function() { 
    $.ajax('/some-asp-file.asp', { 
     type: 'POST', 
     data: { 
      'Company': $('select#company').val() 
     }, 
     success: $.proxy(function(data){ 
      $('select#department').html(data); 
     }, this) 
    }); 
}); 

と、このようなものを(もテストしていません!)

<% 
dim Company 
dim Department, Departments 

Company = trim(request.form("Company")) 

if Company <> "" then 

    Departments = ' // -> Result Array from your SP here where you pass in "Company" 

    for each Department in Departments 
%> 
<option value="<%=Department%>"><%=Department%></option> 
<% 
    next 

else 
%> 
<option value="-1">-</option> 
<% 
end if 
%> 

OR(決定はまた、あなたが持っているデータの量によって異なります)、あなたは最初にすべてのデータを取得し、JSオブジェクトに格納して、クライアント両面それを置き換えることができます。これはおそらく、ASPなどでエスケープするすべての二重引用符でコードするのはもっとイライラしますが、あなたが主張するならば、簡単な例を書くことができます。

関連する問題