Javascript 从选择选项读取值
我有一个下面的场景Javascript 从选择选项读取值,javascript,jquery,drop-down-menu,portlet,Javascript,Jquery,Drop Down Menu,Portlet,我有一个下面的场景 <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:
<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>
我有什么遗漏吗
编辑
我已经为onClick添加了示例函数,这就是为什么我在option字段中使用onClick。对于每一个函数,我会调用不同的函数。是否仍然可以获取所选选项的值
<portlet:namespace />SomeFunction(id, some_id, some_value) {
}
SomeFunction(id,some\u id,some\u值){
}
您在选项中的onclick
不起任何作用。因为您使用的是jQuery,所以根本无法使用内联javascript
删除onChange=“this.options[this.selectedIndex].onclick();
和所有onclick=”“
,然后重试
$(function() {
$('#dropDown').change(function() {
alert($(this).val());
});
});
使用jQuery时,不需要对每个
选项单击onclick
,也不需要将onChange
选中。
删除它们,然后使用change
事件尝试
$('#dropDown').on('change', function() {
var selected_item = this.value;
alert( selected_item );
});
如果您试图在页面加载时更新所选\u项
变量的值,则可以触发如下更改事件:
$('#dropDown').on('change', function() {
var selected_item = this.value;
alert( selected_item );
}).change(); // trigger the change event at page load
我使用onclick是有原因的,因为我为每个单击的函数调用不同的函数。请参阅我所做的编辑我需要保留onclick,因为我为每个情况调用不同的函数。请参阅edit@user525146然后尝试使用
单击
,但如果我删除了onChange,则删除onchage
,而onClick不适用于该onChangeIE6、IE7和Chrome。
$('#dropDown').on('change', function() {
var selected_item = this.value;
alert( selected_item );
}).change(); // trigger the change event at page load