0

おはようございます、私には重く見えるコードがあります。軽いコードで行きたいと思います。私の仕事は、2 つのドロップダウン ボックスを使用して州と都市を選択しようとしていることです。州のドロップダウン ボックスに合わせて都市のドロップダウン ボックスを変更する必要があります。

ここに私のコード:::

<fieldset>
    <legend>Compare To</legend>
    <span>state</span><select id="locationId" name="locationId">
    <option value="0" <c:if test="${loc.location eq '0'}">selected="selected"</c:if>>All Locations</option> 
    <c:forEach items="${locationDetailsList}" var="locationDetails">
        <option value="${locationDetails.locationId}" <c:if test="${loc.locationId2 eq locationDetails.locationId}">
        selected="selected"</c:if>>${locationDetails.locationName}</option>
    </c:forEach></select>

    <span>area</span> 
    <select id="area" name="area">
        <option value="0" <c:if test="${locationId eq '0'}">selected="selected"</c:if>>All Locations</option> 
        <option value="1" <c:if test="${locationId ge '1'}">selected="selected"</c:if>>Hyderabad</option>
        <option value="1" <c:if test="${locationId ge '1'}">selected="selected"</c:if>>Vizag</option>
    </select> 
</fieldset> 

thx 親愛なる友人たち...

4

1 に答える 1

0

この質問への回答から: JSF2 Facelets の JSTL... 意味がありますか? JSTLタグ (...) はビューのビルド時に実行されます。これは、クライアントにレンダリングする HTML をビルドするときに 1 回だけ評価されることを意味します。

<select id="area">これを知っていると、コンポーネントの値に基づいて値をロードするためにサーバーに完全な要求/応答を行うことによってのみ、データを更新でき<select id="locationId">ます。

この時代、ドロップダウンリストの要素だけでまったく新しい応答をユーザーに与えるのは非常に苦痛なので、ここに示すように Ajax アプローチを使用できます: How to use Servlets and Ajax? BalusC は、 aに<option>基づいてリストを構築する完全を書いていることに注意してください。Map<String, String>Map<String, String><option>

ajax ソリューションの場合、<select id="area">内部に JSTL タグを含めないでください。要素をまったく含めないでください。

<select id="area">
</select>
于 2013-02-15T06:34:29.740 に答える