测试是否选中表格中的复选框

时间:2014-07-16 06:34:54

标签: javascript jquery checkbox

我有这个巨大的(1334页)表。我的问题:如何测试所有创建的复选框,并确定它们是否已经过检查"?也许我应该输入"复选框"用另一种方式? 这是来自.ftl文件的代码的一部分。我理解所有编码都是一个问题。

    [#list result.content as item]
    [#assign publicationType = (item.esbPublicationType)?default("не опубликован") /]
    <tr>
        <td>
            <p><input type="checkbox" name="checkbox"</p>
        </td>
        <td>
            ${(item.createdTime.time?string("dd.MM.yyyy HH:mm:ss"))?default("не известно")}
        </td>
        <td>
            ${(item.visit.branchOffice.name)?default("не известно")}
        </td>
        <td>
            <a href="#" class="[#if publicationType == "ERROR"]alert round label[/#if] publication-info" visit_id="${item.visit.id}">
            ${publicationType}
            </a>
        </td>
        <td class="text-center">
            [#--<a href="#" class="tiny round  visit-info" visit_id="${item.visit.id}">Просмотр визита</a>--]
            <a href="[@spring.url "/visit/publicate?id=" + item.visit.id/]"
               target="_blank" class="tiny round  publicate" visit_id="${item.id}">Опубликовать</a>
        </td>
    </tr>
[/#list]

[#list result.content as item]
    [#assign publicationType = (item.esbPublicationType)?default("не опубликован") /]
    <tr>
        <td>
            <p><input type="checkbox" name="checkbox"</p>
        </td>
        <td>
            ${(item.createdTime.time?string("dd.MM.yyyy HH:mm:ss"))?default("не известно")}
        </td>
        <td>
            ${(item.visit.branchOffice.name)?default("не известно")}
        </td>
        <td>
            <a href="#" class="[#if publicationType == "ERROR"]alert round label[/#if] publication-info" visit_id="${item.visit.id}">
            ${publicationType}
            </a>
        </td>
        <td class="text-center">
            [#--<a href="#" class="tiny round  visit-info" visit_id="${item.visit.id}">Просмотр визита</a>--]
            <a href="[@spring.url "/visit/publicate?id=" + item.visit.id/]"
               target="_blank" class="tiny round  publicate" visit_id="${item.id}">Опубликовать</a>
        </td>
    </tr>
[/#list]

我尝试了这个,但它不起作用:

<script type="text/javascript">
var button = document.getElementById("button");
button.addEventListener("click", function (){
    var checkbox = document.getElementsByName("checkbox");
    for(i=0; i < checkbox.length; i++)
    {
        if(checkbox[i].checked){
        console.log("Work");
    }else{
        alert("Ни один из визитов не выбран");
    }
    }
}, false);

2 个答案:

答案 0 :(得分:0)

要选中所有复选框,请使用$(':checkbox').prop('checked', true);

<p><input type="checkbox" /></p>
<p><input type="checkbox" /></p>
<p><input type="checkbox" /></p>
<p><input type="checkbox" /></p> // all unchecked

// on document ready (or whenever you need)
$(':checkbox').prop('checked', true);

// Chekboxes are now all checked

http://jsfiddle.net/daCrosby/7QLEj/

如果您想确定是否选中了复选框,请使用$('selector').prop("checked")

<p><input type="checkbox" checked /></p>
<p><input type="checkbox" checked /></p>
<p><input type="checkbox" checked /></p>
<p><input type="checkbox" /></p>
<p><input type="checkbox" /></p>
<p><input type="checkbox" checked /></p>
<p><input type="checkbox" /></p>
<p><input type="checkbox" checked /></p>
<p><input type="checkbox" /></p>

// on document ready (or whenever you need)
$(':checkbox').each(function(){
    if ($(this).prop("checked"))
        $(this).parent().append("<span>This is checked</span>");
});

http://jsfiddle.net/daCrosby/7B6t7/

答案 1 :(得分:0)

尝试此操作以“检查”表格中的所有复选框:

 $(function () {

    $("table [type=checkbox]").attr("checked", true);
 });

用于测试是否检查:

if ($("table [type=checkbox]").attr("checked")==true){
    alert("checked");   
}else{
   alert("not checked");       
}

我可以在您的代码中发现一个小错误,请正确关闭输入标记

    <td>
        <p><input type="checkbox" name="checkbox"/></p>
    </td>