为每个表行选择一个复选框

时间:2015-06-02 12:47:26

标签: java jquery checkbox

  out.println("<html>");
    out.println("<head>\n"
            + "<script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js\"></script>\n"
            + "<script>\n"
            + "$(function() {\n"
            + "  $('input[type=\"checkbox\"]')\n"
            + "    .on('change', function(){$('input[type=\"checkbox\"]').not(this).prop('checked', false);});\n"
            + "});\n"
            + "</script>\n"
            + "</head>");
    out.println("<body>");   

   while (itr.hasNext()) {
            Object o = itr.next();
            Element vraag = (Element) o;

            StringBuffer row = new StringBuffer("<tr>");

            row.append("<td>" + vraag.getChildText("VRAAG") + "</td>");
            String antwoord = vraag.getChildText("INVOERMOGELIJKHEID");

            if (antwoord.equals("tweecheckbox")) {
                row.append("<td>" + "<input type=\"checkbox\" name=\"tweecheckbox\" value=\"0\">" + "<input type=\"checkbox\" name=\"tweecheckbox\" value=\"1\">" + "</td>");
            } else if (antwoord.equals("driecheckbox")) {
                row.append("<td>" + "<input type=\"checkbox\" name=\"driecheckbox\" value=\"0\">" + "<input type=\"checkbox\" name=\"driecheckbox\" value=\"1\">" + "<input type=\"checkbox\" name=\"driecheckbox\" value=\"2\">");
            } else if (antwoord.equals("viercheckboxNT")) {
                row.append("<td>" + "<input type=\"checkbox\" name=\"viercheckboxNT\" value=\"0\">" + "<input type=\"checkbox\" name=\"viercheckboxNT\"value=\"1\">" + "<input type=\"checkbox\"name=\"viercheckboxNT\"value=\"2\">" + "<input type=\"checkbox\"name=\"viercheckboxNT\"value=\"3\">" + "<input type=\"checkbox\"name=\"viercheckboxNT\"value=\"\">" + "</td>");
            } else if (antwoord.equals("vijfcheckbox")) {
                row.append("<td>" + "<input type=\"checkbox\" name=\"vijfcheckbox\" value=\"0\">" + "<input type=\"checkbox\"name=\"vijfcheckbox\"value=\"1\">" + "<input type=\"checkbox\"name=\"vijfcheckbox\"value=\"2\">" + "<input type=\"checkbox\"name=\"vijfcheckbox\"value=\"3\">" + "<input type=\"checkbox\"name=\"vijfcheckbox\"value=\"4\">");
            } else if (antwoord.equals("tekstvak")) {
                row.append("<td>" + "<INPUT TYPE=\"text\" NAME=\"tekstvak\" SIZE=\"11\" MAXLENGTH=\"20\">");
            } else {
                row.append("<td>" + antwoord);
            }

            out.println(row.toString());

        }

在上面的代码中,我试图用java servlet中的xml文件创建一个表单。

表单正在创建和工作。但是,我想每行检查一个复选框。目前我只能在整个表单中选中一个复选框。

我认为在while循环中创建复选框是个问题。但是,我必须为此表单创建88行,所有行都有5个复选框。有没有办法做到这一点,但每行可以选择一个复选框吗?

1 个答案:

答案 0 :(得分:1)

要检查第一个复选框或您可以尝试的每一行,

$(function() {
   $('tr input[type="checkbox"]:first').prop('checked',true);
});

要检查每个列的第一个复选框,请尝试

$(function() {
   $('tr td input[type="checkbox"]:first').prop('checked',true);
});