在HTML中从多选下拉框中提取已选中选项的文本内容到后台,被这个问题难倒了。

demo.jsp文件

  1. <select id="selecttype" name"type">
  2. <option value="" selected="selected">请选择</option>
  3. <c:forEach items="${typeList}" var="typeList">
  4. <option value="${typeList.id}">${typeList.name}</option>
  5. <c:forEach>
  6. </select>
如上代码,想过用设置隐藏域获取文本内容typeList.name,将隐藏域放在forEach循环内。
<input id="selecttypename" type="hidden" name="typename" value="${typeList.name}" />
后台接收typename为空值,也许遍历循环的时候把隐藏域也循环出多份了,而同一个Form表单中不能有多个相同name属性的标签。

隐藏域放哪里好呢?思考无果后开始查资料,最后找到解决方案。

JavaScript中有一个change事件

JavaScript代码

  1. $("#selecttype").change(function(){
  2. $("selecttypename").val($("#selecttype").find("option:selected").text());
  3. });
当触发select框选项改变的条件,将框内选中的文本内容传递给隐藏域的value值,这样隐藏域也能随自己心意放在合适的位置了。


相关文章:

  • 2021-10-09
  • 2021-10-26
  • 2022-12-23
  • 2022-01-02
  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-02
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案