Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSP上的JavaScript和Spring表单:select_Javascript_Jsp - Fatal编程技术网

JSP上的JavaScript和Spring表单:select

JSP上的JavaScript和Spring表单:select,javascript,jsp,Javascript,Jsp,我有一个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}"/>... ... 我有一个js函数myFunc(id){alert(id);} 然后

我有一个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}"/>...

...
我有一个js函数
myFunc(id){alert(id);}
然后我更改选择值,我看到警报:未定义

怎么了?

您无法在
循环之外获取值
${oper.id}
,因为它是列表中的一个元素

要从下拉菜单
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}"/>...
  function myFunc() {
    var  selectedValue= $("#mySelect").val();
    alert(selectedValue);
   }
如果您喜欢在没有jquery的情况下使用它,下面是javascript版本

    function myFunc() {
    var selectBox = document.getElementById("mySelect");
    var selectedValue = selectBox.options[selectBox.selectedIndex].value;
    alert(selectedValue);
   }
或者简单地说

<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}"/>...
以函数调用作为参数传递
属性

希望这有帮助

function myFunc($val) {
        alert($val);
       }