Javascript 在动态构造的html表中获取行值

Javascript 在动态构造的html表中获取行值,javascript,jquery,html,servlets,Javascript,Jquery,Html,Servlets,我正在用复选框在servlet内部构建一个动态表,并为复选框指定了id,现在我试图通过单击按钮来获取选中的复选框行值,但得到的值是错误的,如果我为第四行值选择了复选框,则表示显示第二行值的警报,下面我给出了我的servlet和jquery代码, 查看输出图像我已选择260号行,但警报显示257这是我的问题。 Servlet代码 PrintWriter out = response.getWriter(); PreparedStatement distscenarioName =

我正在用复选框在servlet内部构建一个动态表,并为复选框指定了id,现在我试图通过单击按钮来获取选中的复选框行值,但得到的值是错误的,如果我为第四行值选择了复选框,则表示显示第二行值的警报,下面我给出了我的servlet和jquery代码, 查看输出图像我已选择260号行,但警报显示257这是我的问题。 Servlet代码

PrintWriter out = response.getWriter();
        PreparedStatement distscenarioName = null;
        PreparedStatement minscenariId = null;
        PreparedStatement testcaseName = null;
        String scenari_name = null; 
        Connection connection=DatabaseConnection.getConnection();
        distscenarioName=connection.prepareStatement("select distinct scenario_name from scenario");
        ResultSet rs=distscenarioName.executeQuery();
        out.println("<tr><td><b>");
        out.println("Scenario Name:");
        out.println("</b></td><td><b>");
        out.println("Testcase ID:");
        out.println("</b></td><td><b>");
        out.println("Testcase Name:");
        out.println("</b></td><td><b>");
        out.println("Testcase Description:");
        out.println("</b></td><td><b>");
        out.println("Action:");
        out.println("</b></td></tr>");
        int i=0;
        while(rs.next()){
            scenari_name=rs.getString("scenario_name");
            minscenariId=connection.prepareStatement("select min(scenario_id) from scenario where scenario_name =?");
            minscenariId.setString(1, scenari_name);
            ResultSet rss=minscenariId.executeQuery();              
            if(rss.next()){
                testcaseName=connection.prepareStatement("select tc_id,tc_desc,tc_name from testcase where scenario_id=?");
                testcaseName.setInt(1,rss.getInt("min(scenario_id)"));
                ResultSet testcaseExe=testcaseName.executeQuery();  
                out.println("<tr><td><h4>");
                out.println(scenari_name);
                out.println("</td></h4><td></td><td></td><td></td><td><input type=checkbox class='btnChckBox'></td></tr>");                 
                while(testcaseExe.next()){                      
                    out.println("<tr><td>");
                    out.println("<td id='testCaseId"+i+"'>");
                    out.println(testcaseExe.getInt(1));
                    out.println("</td>");
                    out.println("</td><td id='testCaseName"+i+"'>");
                    out.println(testcaseExe.getString("tc_name"));
                    out.println("</td><td>");
                    out.println(testcaseExe.getString("tc_desc"));
                    out.println("</td><td>");
                    out.println("<input type=checkbox class='btnChckBox' id='action"+i+"'>");
                    out.println("</td></tr>");
                    i++;
                }

                //out.println("<input type='hidden' id='gridSize' value='"+i+"'>");

            }
        }
请设置tr的id和复选框,如:

见**行:


什么是StartExec,我在servlet codetats one button id中没有找到它,对于button click事件,我正在读取用于按钮单击的表行值。通过使用以下ajax调用,我构建了一个表$.ajax{type:POST,url:./ScenarioTCExecutionPage,success:functionresult{/*alertLength+result.toString.length;//*alertLength+result.length;*/$testcaseTable.htmlresult;$testcaseTable.show;}};您能否为我们提供一个带有虚拟数据的JSFIDLE演示,以便我们更好地帮助您。请确保您没有多个相同id的按钮。其次,由于您是动态构建它的,因此最好以以下方式绑定处理程序:$'document'。单击,'StartExec',函数{//Your code here};tat点击不是问题yaar,如果我选中第三行复选框,警报将显示第一行值。亲爱的@Mukesh Daphi及时提供了很大帮助兄弟,非常感谢你救了我。。。
$('#StartExec').click(function() {
                     $('#testcaseTable tr').each(function(i) {
                            var tcID = this.cells[1].innerHTML;
                            var tcName = this.cells[2].innerHTML;
                            var cellvalues = this.cells[4].innerHTML;
                            if($('#action'+i).prop('checked')){
                                 alert('Inside if tc ID::::::::'+tcID);
                                    alert('inside if tc name::::::'+tcName);
                            }

                        });
                });
while(testcaseExe.next()){    

                    **out.println("<tr id="+testcaseExe.getInt(1)+"><td>");**

                    out.println("<td id='testCaseId"+i+"'>");
                    out.println(testcaseExe.getInt(1));
                    out.println("</td>");
                    out.println("</td><td id='testCaseName"+i+"'>");
                    out.println(testcaseExe.getString("tc_name"));
                    out.println("</td><td>");
                    out.println(testcaseExe.getString("tc_desc"));
                    out.println("</td><td>");
                    **out.println("<input type=checkbox class='btnChckBox' id='action"+testcaseExe.getInt(1)+"'>");**
                    out.println("</td></tr>");
                    i++;
                }
$('#StartExec').click(function() {
                     $('#testcaseTable tr').each(function(i) {
                               if($('#action'+this.id).prop('checked')){
                                 alert('Inside if tc ID::::::::'+tcID);
                                    alert('inside if tc name::::::'+tcName);
                            }

                        });
                });