【问题标题】:Selecting one checkbox each table row每个表格行选择一个复选框
【发布时间】:2015-08-16 06:35:10
【问题描述】:
  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 个复选框。有没有办法做到这一点,但能够每行选择一个复选框?

【问题讨论】:

    标签: java jquery checkbox


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我们确定 JS 是 OP 要求的吗?
    • 我想每行勾选一个复选框。这是什么意思?
    • 我并不是要选中每一行的第一个复选框。我想在每一行的五个复选框中选择一个。
    • 好的。我个人认为你可以在 Java 中做到这一点(需要更多的调查)。否则,这个答案很好。
    • 或者, 可以在 Java 中通过在列的第一个复选框中添加 checked="checked" 来完成,因为您使用的是 if-elseif,因此不需要重复检查到您的复选框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多