0

jsp に次のマークアップがあります。

<form:select id="ddlSkillLevelCoreFrom1" path="aarKpis" multiple="false" class="notSelectable skillsFrom qar_dd war_skill5 validate[required]">
                                <option value="">Please select a Skill Level From</option>
                                <c:forEach var="skillLevel" items="${skillLevels}">
                                    <c:if test="${selectedSoftSkill.skillLevelId == skillLevel.skillLevelId}">
                                        <option selected="selected" value="${skillLevel.skillLevelId}">
                                            <c:set scope="request" var="skillLevelFromSelected">${skillLevel.skillLevelId}</c:set>
                                            <c:out value="${skillLevel.name}" />
                                        </option>
                                    </c:if>
                                    <c:if test="${selectedSoftSkill.skillLevelId != skillLevel.skillLevelId}">
                                        <option value="${skillLevel.skillLevelId}">
                                            <c:out value="${skillLevel.name}" />
                                        </option>
                                    </c:if>
                                </c:forEach> 
                            </form:select>
                            <form:select id="ddlSkillLevelCoreTo1" path="aarKpis" multiple="false" class="notSelectable skillsTo qar_dd war_skill5 validate[required]">
                                <option value="">Please select a Skill Level To</option>
                                <c:forEach var="skillLevel" items="${skillLevels}">
                                    <c:if test="${skillLevel > skillLevelFromSelected}">                                        
                                        <option value="${skillLevel.skillLevelId}">
                                            <c:out value="${skillLevel.name}" />
                                        </option>
                                    </c:if>
                                </c:forEach>
                            </form:select>

最初の形式でわかるように、以前に選択した値に基づいて選択します。c:set を使用して変数に同じ値を設定します。次に、その値を使用して、その値よりも大きな ID を持つすべての要素をフィルター処理し、2 番目の形式である select で表示します。何らかの奇妙な理由で、2 番目の形式である select ですべての要素がフィルター処理されずに表示されます。私が欠けているものを見つけることができますか。

私の質問に答えてくれてありがとう。

4

1 に答える 1

0

ここ:<c:if test="${skillLevel > skillLevelFromSelected}">

SkillLevelFromSelectedはIDなので、 onlyskillLevel.skillLevelIdの代わりに取るべきではありませんか?skillLevel

于 2012-10-02T10:04:14.133 に答える