JS获取foreach下拉款选中的值

alan3494 2018-09-30 12:44:34


请问各位大佬!这个值要怎么取啊
整个页面是个大的cforeach
每一行的select选择框是另一个cforeach遍历出来的下拉款
我用var boxid =$("#testSelect option:selected").val();这个只能获取到第一行的下拉框,其他下拉款的值都获取不到 (就是点击旁边的按钮获取左边下拉框的值)

相当于一个遍历中的按钮获取子遍历选择框中的一个值……


<C:forEach items="${selectList}" var="item" varStatus="status">
<td>
<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon"></i></div>
</td>
<td>${item.caseid}</td>

<td><C:if test="${empty item.boxid||item.boxid=='0'}">未放置</C:if>
<C:if test="${ item.boxid!='0'}">${item.boxid}</C:if>

</td>
<td class="td-manage">
<C:if test="${empty item.boxid||item.boxid=='0'}">


<select id="testSelect" name="" style="width:200px;" >
<option value=""></option>


<C:forEach items="${boxList}" var="li" varStatus="status">
<option value="${li.boxid}">${li.boxname}</option>
</C:forEach>


</select>




<input class="layui-btn" type="button" value="添加入箱子" onclick="insertNewCase(${item.caseid},${item.subcaseid},${item.boxid})">

</C:if>
<C:if test="${not empty item.boxid && item.boxid!='0'}">已放入</C:if>
</td>
</tr>
</C:forEach>



function insertNewCase(caseId,subCaseId,isBoxId) {
var boxid =$("#testSelect option:selected").val(); //获取动态下拉框
// var boxida =$("#testSelect").val() ;

alert("boxid="+boxid);
// alert("boxida="+boxida);
if(boxid==""){
alert("请选择放置箱");
return false;
}

if (typeof(isBoxId)== "undefined"){
isBoxId="";
}

// alert("boxid="+boxid+"caseId="+caseId+"subCaseId="+subCaseId+"isBoxId="+isBoxId);
window.location.href = "/webTask/boxInfo/insertNewCase.do?"
+"&caseId="
+caseId
+"&subCaseId="
+subCaseId
+"&boxid="
+boxid
+"&isBoxId="//用来判断记录表是插入还是修改
+isBoxId
;

}





...全文
332 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
alan3494 2018-09-30
  • 打赏
  • 举报
回复
引用 2 楼 nayi_224 的回复:
每个select需要一个唯一的id

<select id="testSelect_${item.caseid}" name="" style="width:200px;" >


非常感谢,刚刚有人指导了用的就是这个方法!
<select id="testSelect${status.index}" name="" style="width:200px;" >

onclick="insertNewCase(${item.caseid},${item.subcaseid},${item.boxid},'${status.index}')"

function insertNewCase(caseId,subCaseId,isBoxId,status) {
var id = "#testSelect"+status+" option:selected";
var boxid = $(id).val();

就成功的获取到了!
Spade2 2018-09-30
  • 打赏
  • 举报
回复
楼上的解决方法合理
nayi_224 2018-09-30
  • 打赏
  • 举报
回复
每个select需要一个唯一的id

<select id="testSelect_${item.caseid}"  name="" style="width:200px;" >
alan3494 2018-09-30
  • 打赏
  • 举报
回复
求助啊~求助啊~求助啊~求助啊~求助啊~
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于SSM框架+Mysql的企业CRM客户关系管理系统项目源码+数据库+项目说明.zip # 关于项目 该项目是基于SSM实现的客户关系管理系统 ## 1️⃣技术栈 Spring+SpringMVC+MyBatis+Thymeleaf+Vue+JS+Jquery+Axios+Json 服务器: Tomcat_9.0.60 数据库: MySQL_8.0.28 开发工具:IDEA_2021.3.3 页面:Bootstrap_3.3.0 ## 2️⃣已实现的功能 **:star: 账号登录** **:star: 市场活动** ## 3️⃣日志 ### 2022/4/2 - 实现基本的登录功能: 1. 使用@RequestBody接收Axios传来的Json对象时,可以用一个Map对象接收,也可以用一个POJO类对象接收 2. 使用@RequestBody接收Axios传来的Json对象时,必须设置请求报文中的Content-Type属性为application/json,否则报HTTP:415 3. 导入js静态文件(vue.js,jquery.js等)时,不要直接使用相对路径,使用thymeleaf或者使用绝对路径 ### 2022/4/3 - 记住密码,退出登录,验证登录状态: 1. 使用@RequestBody接收Axios传来的Json对象时,接收到的checked属性为一个Boolean类型,而不是一个String 2. 在用户不需要记住密码时,调用setMaxAge方法将cookie的生命周期设置为0,即可销毁cookie 3. 由于使用thymeleaf暂时没找到操作cookie的方法,故此导入vue-cookie包,使用vue操作cookie 4. 在vue中,不能用$cookies.get('loginAct') && $cookies.get('loginPwd')为checked赋,此时为$cookies.get('loginPwd')。应该用!!($cookies.get('loginAct') && $cookies.get('loginPwd')),此时为一个布尔类型 ### 2022/4/4 - 工作台主页显示,市场活动主页面显示,创建市场活动: 1. 输入日期的input标签中应该加上autocomplete="off",否则历史记录的下拉列表会覆盖日历 2. vue无法在实现了bootstrap日历功能的input标签上使用v-model进行双向绑定,会出现消失的情况。建议ref选择标签用value直接获取日期 3. bootstrap日历插件汉化包不能正常加载,出现乱码,解决办法:将汉化包中的代码复制到Script标签下 ### 2022/4/7 - 市场活动的分页查询与展示,条件查询: 1. 项目视频上有错误,查询市场活动的sql语句中的limit后面应该用${beginNo},${pageSize},而不是#{}.此外limit的起始索引应该为0,而不是1 2. vue中调用钩子函数beforeMount(),在页面渲染之前向服务器发送axios异步请求,注意:此时页面还没有渲染,所以无法获取页面中的标签 3. vue中使用v-for,根据列表动态的显示html标签 ### 2022/4/8 - 翻页功能,全选功能,删除市场活动: 1. 进行翻页操作的时候,注意要把选中的条目和全选重置 2. 从axios返回给Java的json对象中的数组是一个List对象而不是一个数组,在controller中强转一下可以直接传入service 3. Mybatis,foreach标签中的collection属性应该填list,表示的是List类型 ### 2022/4/9 - 修改市场活动,导出全部市场活动: ### 2022/4/10 - 导入市场活动,市场活动备注的增删改查: 1. 文件上传用到MultipartFile类,需要引入相关插件并在MVC配置文件中配置multipartResolver解析器bean 2. 将thy

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧