通过比较两个数组选择一个复选框

时间:2013-07-30 17:08:26

标签: jquery html

我试图通过比较两个数组来检查页面上的复选框。如果两个数组中都存在值,则选中其id与匹配值相同的复选框。  (该数组包含Checkbox元素的Id。) 即使复选框的检查中存在该值也不起作用。

以下是jsfiddle与HTML和jquery

的链接

JsFiddle Here J

1 个答案:

答案 0 :(得分:1)

试试这个: - http://jsfiddle.net/adiioo7/zhEB2/9/

首先它应该是$('.divPrintDetailed table')而不是$(#divPrintDetailed table'),并且在idArray第一个参数中迭代是索引,第二个是元素。

JS: -

function CheckboxSelect() {
    var idArray = [];
    var idContainerArray = [];

    idContainerArray[0] = "tbl-10-486011";
    idContainerArray[1] = "tbl-10-486013";
    idContainerArray[2] = "tbl-10-486016";

    $('.divPrintDetailed table').each(function (i, e) {
        idArray.push($(e).attr('id'));
    });

    //alert(idArray.length);

    $.each(idArray, function (index, el) {
        alert(el.slice(4));
        if ($.inArray(el, idContainerArray) != -1) {
            $('#' + el.slice(4)).prop("checked", "checked");
        }
    });
}

$('#btnSubmit').click(function () {
    CheckboxSelect();
});

<强> HTML: -

<div class="divPrintDetailed">
    <table  id="tbl-10-486011" data-ordernum="0">
   <tr>    <td> 
     <input class="containerToCopy" id="10-486011" type="checkbox">   </td>       </tr>
        </table>
         <table  id="tbl-10-486012" data-ordernum="1">
             <tr>    <td>  <input class="containerToCopy" id="10-486012" type="checkbox">     </td>       </tr>
             </table>
         <table  id="tbl-10-486013" data-ordernum="2">
             <tr>    <td>  <input class="containerToCopy" id="10-486013" type="checkbox">     </td>       </tr>
             </table>
         <table  id="tbl-10-486014" data-ordernum="3">
             <tr>    <td>  <input class="containerToCopy" id="10-486014" type="checkbox">     </td>       </tr>
             </table>
         <table  id="tbl-10-486015" data-ordernum="4">
             <tr>    <td> <input class="containerToCopy" id="10-486015" type="checkbox">      </td>       </tr>
             </table>
         <table  id="tbl-10-486016" data-ordernum="5">
             <tr>    <td> <input class="containerToCopy" id="10-486016" type="checkbox">      </td>       </tr>
             </table>
             </div>
             <button type="button" id="btnSubmit" >Click Me!</button>