我有一个jsp:
<form:select path="operation" onchange="myFunc(${oper.id})">
<c:forEach items="${operList}" var="oper">
<form:option label = "${oper.name}" value="${oper.id}|${oper.name}"/>...
Run Code Online (Sandbox Code Playgroud)
我有一个 js 函数myFunc(id) { alert(id); }
然后我更改选择值我看到警报:未定义。
华错了吗?
您无法${oper.id}在<forEach>循环之外获取值,因为它是列表中的一个元素。
要从下拉onchange()事件中获取选定的值,请将该id属性添加到该字段并在 javascript 中获取它
jsp :
<form:select id="mySelect" path="operation" onchange="myFunc()">
<c:forEach items="${operList}" var="oper">
<form:option label = "${oper.name}" value="${oper.id}|${oper.name}"/>...
Run Code Online (Sandbox Code Playgroud)
查询:
function myFunc() {
var selectedValue= $("#mySelect").val();
alert(selectedValue);
}
Run Code Online (Sandbox Code Playgroud)
如果你更喜欢不使用 jquery,这里是 javascript 版本,
function myFunc() {
var selectBox = document.getElementById("mySelect");
var selectedValue = selectBox.options[selectBox.selectedIndex].value;
alert(selectedValue);
}
Run Code Online (Sandbox Code Playgroud)
或者干脆,
<form:select id="mySelect" path="operation" onchange="myFunc(value)">
<c:forEach items="${operList}" var="oper">
<form:option label = "${oper.name}" value="${oper.id}|${oper.name}"/>...
Run Code Online (Sandbox Code Playgroud)
在 JavaScript 中,
function myFunc($val) {
alert($val);
}
Run Code Online (Sandbox Code Playgroud)
value以函数调用作为参数传递属性。
希望这可以帮助!!
| 归档时间: |
|
| 查看次数: |
11428 次 |
| 最近记录: |