javascript - 当选项和 c :out is used 时,从 JSP/JSTL 中的下拉列表中获取值

标签 javascript jquery jsp jstl

我有以下 JSP 代码,用于选择语句提取存储在数据库中的名称列表作为 nameID 和名称。下拉列表显示名称(不是 ID)

   <select  id="name" name="name" onchange="updateName(value)">
    <option/>
    <c:forEach items="${nameForm.nameList}" var="val">
    <option ${nameForm.name eq val.nameId?'selected':''} 
                         value="<c:out value="${val.nameId}"/>">
        <c:out value="${val.name}"/>
    </option>
    </c:forEach>
    </select>   

我希望 updateName 函数检索所选名称的值。下面的代码所做的是获取 nameID 而不是值。我不确定为什么 value 返回一个 ID,我假设 val.nameId 而不是列表中选择的名称 val.name

函数更新名称($1){

alert($1);

}

如果我使用 document.getElementById 也会发生同样的事情...

最佳答案

如果你改变这个:

<select  id="name" name="name" onchange="updateName(value)">
<option/>
<c:forEach items="${nameForm.nameList}" var="val">
<option ${nameForm.name eq val.nameId?'selected':''} 
                     value="<c:out value="${val.nameId}"/>">
    <c:out value="${val.name}"/>
</option>
</c:forEach>
</select>   

进入此:

<select  id="name" name="name" onchange="updateName(value)">
<option/>
<c:forEach items="${nameForm.nameList}" var="val">
<option ${nameForm.name eq val.nameId?'selected':''} 
                     value="<c:out value="${val.name}"/>">
    <c:out value="${val.name}"/>
</option>
</c:forEach>
</select>   

更新

像这样的怎么样:http://jsfiddle.net/robertrozas/y8e4B/

关于javascript - 当选项和 c :out is used 时,从 JSP/JSTL 中的下拉列表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396695/

相关文章:

javascript - Aurelia - 事件加载/"lazy load"图像

javascript - 一直使用持续时间为 0 的 .animate 可以吗?有更好的选择吗?

javascript - 如何在 JavaScript 中将从 JSP 返回的列表转换为字符串数组

java - 如何即时远程使用户的 servlet session 无效?

javascript - 文字动画: each and setTimeOut

javascript - 居中嵌入视频内容

javascript - 单选按钮隐藏/显示所有内容

javascript - 多种进度状态+Ajax表单插件

javascript - 删除 JavaScript 中的不间断空格

javascript - 如何在 Angular JS 中读取 JSON 对象