私はこれを以前に検索していましたが、得られた答えに少し混乱していたので、このための完全なコードを書きたいと思いました. これは私の将来の仕事のためであり、誰かがこれによって恩恵を受けることを願っています.
以下の回答をご覧ください。
私はこれを以前に検索していましたが、得られた答えに少し混乱していたので、このための完全なコードを書きたいと思いました. これは私の将来の仕事のためであり、誰かがこれによって恩恵を受けることを願っています.
以下の回答をご覧ください。
これは、js と jquery の両方で解決できます。しかし、jquery の方が簡単で短いので、そのためのコードを書きます。このシナリオでは、html / jsp ページの選択の変更時に ajax 呼び出しを行います
Jspページはこんな感じ
<select class="target1">
<option >Select type</option>
<option >computer</option>
<option >camera</option>
<option >sound System</option>
<option >battery</option>
</select>
<select class="target2">
<option >Select type</option>
</select>
ここで、target1 からの選択で、target2 の選択で別のリストを表示したいと考えています。このため、jquery 関数は次のようになります
$('.target1').change(function() {
$.ajax({
$('.target2').empty();
url: 'http://localhost:8080/YourAppName/ServletName',
data: {selectedValue: $(this).val()},
success: function(response) {
$('.target2').append(response);
}
});
});
ここでは、target1 を指しており、内部で ajax 呼び出しを行っています。最初に、target2 の選択を空にしています。次に、 でサーブレットを呼び出し、url
を使用して値を渡しますdata
。成功すると、結果をtarget2の選択に追加するだけです
ServletName (サーブレット) に次のコードを記述します。
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String selectedItem = request.getParameter("selectedValue");
productList = connDB.getProduct(query);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
if(selectedItem == (Your Condition)){
out.println("<option >1</option>");
out.println("<option >2</option>");
out.println("<option >3</option>");
out.println("<option >4</option>");
}else{}
} finally {
out.close();
}
}
このコードを実行した後、選択に入る必要がありますtarget2
1
2
3
4
これでわかるように、好きなようにカスタマイズできます。