【问题标题】:Get value from drop down list in JSP/JSTL when option and c:out is used使用选项和 c:out 时从 JSP/JSTL 中的下拉列表中获取值
【发布时间】:2014-06-24 21:32:37
【问题描述】:

我有以下 JSP 代码,用于提取存储在数据库中的名称列表作为 nameID 和名称的 select 语句。下拉菜单显示名称(不是 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 返回一个我假设 val.nameId 而不是列表中选择的名称 val.name 的 ID

函数更新名称($1){

alert($1);

}

如果我使用 document.getElementById....

【问题讨论】:

    标签: javascript jquery jsp jstl


    【解决方案1】:

    如果你改变这个:

    <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/

    【讨论】:

    • 感谢您的回答,确实返回了字符串值,但我需要 nameId 因为它保存在数据库/休眠中的方式
    • JSFiddle 中的正确语法 alert($(this).find("option:selected").text());
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    • 2015-12-30
    相关资源
    最近更新 更多