表格table单元格里的下拉框的选中值如何获取

表格table的每一行有三个下拉框的值需要获取

html代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
 <%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<head>
<base href="<%=basePath %>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>查询各软件使用情况</title>
<link rel="stylesheet" type="text/css" href="css2moban/bootstrap.css" />
    <link rel="stylesheet" type="text/css" href="css2moban/bootstrap-responsive.css" />
    <link rel="stylesheet" type="text/css" href="css2moban/style.css" />
    <script type="text/javascript" src="Js/jquery.js"></script>
    <!-- <script type="text/javascript" src="Js/jquery.sorted.js"></script> -->
    <script type="text/javascript" src="Js/bootstrap.js"></script>
    <script type="text/javascript" src="Js/ckform.js"></script>
    <script type="text/javascript" src="Js/common.js"></script>
    <style type="text/css">
        body {
            padding-bottom: 40px;
        }
        .sidebar-nav {
            padding: 9px 0;
        }

        @media (max-width: 980px) {
            /* Enable use of floated navbar text */
            .navbar-text.pull-right {
                float: none;
                padding-left: 5px;
                padding-right: 5px;
            }
        }


    </style>
</head>
<body style="overflow-x: hidden">
   <table id="tab"class="table table-bordered table-hover definewidth m10" >
    <thead>
    <tr>
        <th>软件编号</th>
        <th>软件名称</th>
        <th>编制单位</th>
        <th>责任人</th>
        <th>熟练度</th>
        <th>参与比例</th>
        <th>满意度</th>
        <th>操作</th>
    </tr>
    </thead>
    <c:forEach  items="${list}" var="s" varStatus="i">
	     <tr>
            <td>${s.soid}</td>
            <td>${s.soname}</td>
            <td>${s.socompany}</td>
            <td>${s.soHead}</td>
            <td>
            	<select id="skilled" name="skilled">
                  	<option value="无"></option>
                  	<option value="未掌握">未掌握</option>
                  	<option value="精通">精通</option>
                  	<option value="熟练">熟练</option>
                  	<option value="一般">一般</option>
                  </select>
            </td>
            <td>
            	<select id="percent" name="percent">
                   	<option value="0"></option>
                   	<option value="10">10%以上</option>
                   	<option value="30">30%以上</option>
                   	<option value="50">50%以上</option>
                   	<option value="80">80%以上</option>
                   	<option value="100">100%</option>
	            </select>
            </td>
            <td>
            	<select id="satisfaction" name="satisfaction">
                   	<option value="无"></option>
                   	<option value="很满意">很满意</option>
                   	<option value="满意">满意</option>
                   	<option value="较满意">较满意</option>
                   	<option value="一般">一般</option>
                   	<option value="不满意">不满意</option>
	            </select>
            </td>
            <td><input id="see" type="button" class="see" value="${s.soid}"></td>
        </tr>   
     </c:forEach>
    </table>
    <table>
         <tr>
		   <td><button type="button" class="btn btn-success" id="back1">返回</button></td>
		 </tr>
	 </table>
	 
</body>
</html>

网页效果图:

需要同时获取软件编号、熟练度、参与比例、满意度的值,尝试了使用如下js点击函数等,但不管点击哪一行的操作,都只能获取到第一行的值

<script>
$(function () {
    

	$('#back1').click(function(){

			window.location.href="<%=basePath%>/SelectResult";
	 });

}); 
function submit(){
	var skilled = $('#skilled option:selected');
	var percent = $('#percent option:selected');
	var satisfaction = $('#satisfaction option:selected'); 
	var soid = (document.getElementById('see').value);
	window.location='<%=basePath%>/QueryResultByCondition?soid='+ soid + '&skilled='+skilled.val()+'&percent='+percent.val()+'&satisfaction='+satisfaction.val() + '';
 }
</script>

在几天的学习尝试中,受到了启发,想到一种解决方法,就是在table中嵌套form表单,通过form表单来传值到Servlet

jsp完整代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
 <%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<head>
<base href="<%=basePath %>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>查询各软件使用情况</title>
<link rel="stylesheet" type="text/css" href="css2moban/bootstrap.css" />
    <link rel="stylesheet" type="text/css" href="css2moban/bootstrap-responsive.css" />
    <link rel="stylesheet" type="text/css" href="css2moban/style.css" />
    <script type="text/javascript" src="Js/jquery.js"></script>
    <!-- <script type="text/javascript" src="Js/jquery.sorted.js"></script> -->
    <script type="text/javascript" src="Js/bootstrap.js"></script>
    <script type="text/javascript" src="Js/ckform.js"></script>
    <script type="text/javascript" src="Js/common.js"></script>
    <style type="text/css">
        body {
            padding-bottom: 40px;
        }
        .sidebar-nav {
            padding: 9px 0;
        }

        @media (max-width: 980px) {
            /* Enable use of floated navbar text */
            .navbar-text.pull-right {
                float: none;
                padding-left: 5px;
                padding-right: 5px;
            }
        }
    </style>
</head>
<body style="overflow-x: hidden">
	
   <table id="tab"class="table table-bordered table-hover definewidth m10" >
    <thead>
    <tr>
    	<th>编号</th>
        <th>软件编号</th>
        <th>软件名称</th>
        <th>编制单位</th>
        <th>责任人</th>
        <th>熟练度</th>
        <th>参与比例</th>
        <th>满意度</th>
        <th>操作</th>
    </tr>
    </thead>
    <c:forEach  items="${list}" var="s" varStatus="i">
	     <tr>
	     	<td>${i.count}</td>
            <td>${s.soid}</td>
            <td>${s.soname}</td>
            <td>${s.socompany}</td>
            <td>${s.soHead}</td>
          <form action="<%=basePath%>/QueryResultByCondition" class="searchResult" method="post">
	          	<td>
	            	<select id="skilled" name="skilled">
	                  	<option value="无"></option>
	                  	<option value="未掌握">未掌握</option>
	                  	<option value="精通">精通</option>
	                  	<option value="熟练">熟练</option>
	                  	<option value="一般">一般</option>
	                  </select>
	            </td>
	            <td>
	            	<select id="percent" name="percent">
	                   	<option value="0"></option>
	                   	<option value="10">10%以上</option>
	                   	<option value="30">30%以上</option>
	                   	<option value="50">50%以上</option>
	                   	<option value="80">80%以上</option>
	                   	<option value="100">100%</option>
		            </select>
	            </td>
	            <td>
	            	<select id="satisfaction" name="satisfaction">
	                   	<option value="无"></option>
	                   	<option value="很满意">很满意</option>
	                   	<option value="满意">满意</option>
	                   	<option value="较满意">较满意</option>
	                   	<option value="一般">一般</option>
	                   	<option value="不满意">不满意</option>
		            </select>
	            </td>
	            <td><input type="submit" name="soid" value="${s.soid}"/></td>
          </form>
            
        </tr>   
     </c:forEach>
    </table>
    <table>
         <tr>
		   <td><button type="button" class="btn btn-success" id="back1">返回</button></td>
		 </tr>
	 </table>

	 
</body>
</html>
<script>
$(function () {
    

	$('#back1').click(function(){

			window.location.href="<%=basePath%>/SelectResult";
	 });
	
});
 
</script>

要实现这个功能,你需要使用Bootstrap Table的onEditableSave事件来捕获编辑后的数据,然后使用jQuery或JavaScript代码来更新下拉列表的项。 以下是一个示例代码片段,它演示了如何获取编辑后的数据并更新下拉列表的项: ```javascript $('#table').bootstrapTable({ columns: [{ field: 'id', title: 'ID' }, { field: 'name', title: 'Name', editable: { type: 'select', source: [{ value: '1', text: 'Option 1' }, { value: '2', text: 'Option 2' }] } }], onEditableSave: function(field, row, oldValue, $el) { if (field == 'name') { //获取下拉列表的选中 var selectedValue = $el.find('select').val(); //更新下拉列表的项 $el.find('select').empty().append($('<option>', { value: '1', text: 'New Option 1' })).append($('<option>', { value: '2', text: 'New Option 2' })).val(selectedValue); } } }); ``` 在这个示例中,我们定义了一个表格,其中包含一个可编辑的下拉列表,它有两个项:“Option 1”和“Option 2”。当用户编辑这个下拉列表时,我们使用onEditableSave事件来捕获编辑后的数据。在这个事件处理程序中,我们首先获取下拉列表的选中,然后使用jQuery代码来更新下拉列表的项。在这个例子中,我们只是添加了两个新项,但你可以根据需要进行更改。最后,我们将原来选中重新设置为下拉列表中的选中。 希望这个示例能够帮助你实现你想要的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值