【问题标题】:Display selected text in a jsp page在jsp页面中显示选定的文本
【发布时间】:2014-01-22 16:56:35
【问题描述】:

您好,我是 JSP 的新手,正在尝试将标题中的选定值显示为动态文本。但是每次我选择它都会显示选项值而不是文本。以下是我尝试过的。

HTML 下拉菜单

<select id="country" name="country_code">
       <option value="1">Puerto Rico</option>
       <option value="63">Philippines</option>
       <option value="others">Others</option>
</select>

JSP 标记

    <%
        String countrycd = request.getParameter("country_code");
        String countryTxt = request.getParameter("country_code");
    %>

这是我的脚本

    <script>
        document.getElementById("country").value = '<% out.print(countrycd); %>';
        var e= document.getElementById("country");
        var str = e.options[e.selectedIndex].text;
        alert(str);
    </script>

这是我的 html 代码,我需要在其中显示所选文本而不是值,例如,如果用户选择菲律宾,它应该显示为菲律宾而不是代码 63

<h2>By Country: <% out.print(countrycd);</h2>

任何帮助都会非常感激!

谢谢。

编辑:

电流输出

在标题中从下拉列表中选择菲律宾:按国家/地区: 63

预期输出:

如果选择了菲律宾,则应从下拉列表中显示

按国家/地区:菲律宾不是 63。

【问题讨论】:

    标签: java javascript html jsp web


    【解决方案1】:

    HTML 中选择组件的行为是在发布表单时发送所选选项的值,而不是显示文本。您可以通过以下两种方式之一实现您的目标:

    像这样改变选择:

       <select id="country" name="country_code">
           <option value="Puerto Rico">Puerto Rico</option>
           <option value="Philippines">Philippines</option>
           <option value="Others">Others</option>
       </select>
    

    或者,如果该值表示数据库中的国家/地区 id,您可以在发布表单时查找它并以这种方式获取国家/地区名称。

    【讨论】:

    • 感谢文森特的回复。是的,没错,我基本上需要每个国家/地区的 id 值才能在数据库中查找并检索记录。但是在 JSP 页面中,我需要显示国家名称而不是 id。请提出建议。
    【解决方案2】:

    您在标题中显示值。你可以这样做:

    <h2>By Country: <span id="countryName"> </span> </h2>
    

    然后你的script 应该是:

    <script>
      window.onload = function(){        
        document.getElementById("country").value = '<% out.print(countrycd); %>';
        var e= document.getElementById("country");
        var str = e.options[e.selectedIndex].text;
    
        document.getElementById("countryName").innerHTML = str;  //This line changed
      };
    </script>
    

    我们不使用 JSP 获取国家名称,而是使用 javascript(将其写入 countryName 范围内)

    干杯,来自玻利维亚拉巴斯

    【讨论】:

    • 谢谢 Edgar,我也这样做了,但是当我从下拉列表中选择值并单击提交按钮时,它没有显示任何值?我是否必须包含其他任何内容才能显示所选值?还是使用JSP参数保存??
    • 欢迎。当您选择一个国家,然后提交表单时,警报是否会显示新选择的国家代码?
    • 是的,我已经添加了警报以查看它是否会弹出值,当我选择它时会提醒文本但不显示任何内容 -> 'BY Country:'跨度>
    • 之前我添加了这个

      By Country

      它用于仅显示 id 而不是值。您是否认为必须有类似的东西才能获取文本?
    • 欢迎 :)。问题是当您调用脚本时,countryName 跨度在 html 中尚不存在。以防万一我正在编辑答案(添加window.onload)所以顺序无关紧要,您可以将脚本放在任何地方。
    猜你喜欢
    • 2010-12-22
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多