次のシナリオがあります。
<select id="dropDown" onChange="this.options[this.selectedIndex].onclick();>
<c:forEach items="" var="...">
<c:choose>
<c:when test="">
<option id="<portlet:namespace />..." value="red" onclick="<portlet:namespace />SomeFunction(this.id, 'Contants.SOME_ID', '<c:out value="${some_value}"/>)">red</option>
</c:when>
<c:when test="">
<option id="<portlet:namespace />..." value="yellow" onclick="">yellow</option>
</c:when>
<c:when test="">
<option id="<portlet:namespace />..." value="blue" onclick="">blue</option>
</c:when>
</c:choose>
</c:forEach>
</select>
黄色の値を選択すると、アラートはまったく表示されません。ページが初めて読み込まれたとき、または F5 でページを更新した場合にのみ、「赤」というアラートが表示されます。選択した値を警告できません。
var selected_item = $('#dropDown').val();
alert(selected_item);
不足しているものはありますか?
編集
onClick のサンプル関数を追加しました。これが、オプション フィールドで onClick を使用する理由です。したがって、それらのそれぞれについて、異なる関数を呼び出します。選択したオプションの値を取得する方法はありますか。
<portlet:namespace />SomeFunction(id, some_id, some_value) {
}