-1

私はこれを以前に検索していましたが、得られた答えに少し混乱していたので、このための完全なコードを書きたいと思いました. これは私の将来の仕事のためであり、誰かがこれによって恩恵を受けることを願っています.

以下の回答をご覧ください。

4

1 に答える 1

1

これは、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

これでわかるように、好きなようにカスタマイズできます。

于 2013-04-17T18:37:58.943 に答える