jQuery:从每个元素获取索引到div或H4标记之后

时间:2012-08-11 23:37:01

标签: jquery database checkbox

根据以下代码:

$('#permisosPerfiles div').children('h4').length();

这个结果= 5,但是我会得到每个h4的索引和每个复选框的索引一段时间并且每个区域的范围(查找,创建,删除,编辑)。

enter image description here

<h3>Asignación de permisos</h3>
    <div id="permisosPerfiles">
        <div id="leftPermisos">
        <h4 id="Usuarios">Usuarios</h4>
        <p>
        <label for="pCrearUsuario">Crear</label>
        <input id="pCrearUsuario" name="Usuarios[]" value="Crear" type="checkbox" />
        <label for="pBuscarUsuario">Buscar</label>
        <input id="pBuscarUsuario" name="Usuarios[]" value="Buscar" type="checkbox"/>
        <label for="pModificarUsuario">Modificar</label>
        <input id="pModificarUsuario" name="Usuarios[]" value="Modificar" type="checkbox"/>
        <label for="pEliminarUsuario">Eliminar</label>
        <input id="pEliminarUsuario" name="Usuarios[]" value="Eliminar" type="checkbox"/>
        </p>

        <h4 id="Clientes">Clientes</h4>
        <p>
        <label for="pCrearCliente">Crear</label>
        <input id="pCrearCliente" name="Clientes[]" value="Crear" type="checkbox"/>
        <label for="pBuscarCliente">Buscar</label>
        <input id="pBuscarCliente" name="Clientes[]" value="Buscar" type="checkbox"/>
        <label for="pModificarCliente">Modificar</label>
        <input id="pModificarCliente" name="Clientes[]" value="Modificar" type="checkbox"/>
        <label for="pEliminarCliente">Eliminar</label>
        <input id="pEliminarCliente" name="Clientes[]" value="Eliminar" type="checkbox"/>
        </p>

        <h4 id="Mps">Marca, Producto Subproducto</h4>
        <p>
        <label for="pCrearMPS">Crear</label>
        <input id="pCrearMPS" name="Mps[]" value="Crear" type="checkbox"/>
        <label for="pBuscarMPS">Buscar</label>
        <input id="pBuscarMPS" name="Mps[]" value="Buscar" type="checkbox"/>
        <label for="pModificarMPS">Modificar</label>
        <input id="pModificarMPS" name="Mps[]" value="Modificar" type="checkbox"/>
        <label for="pEliminarMPS">Eliminar</label>
        <input id="pEliminarMPS" name="Mps[]" value="Eliminar" type="checkbox"/>
        </p>
    </div>
    <div id="rightPermisos">
        <h4 id="Poliza">Póliza</h4>
        <p>
        <label for="pCrearPoliza">Crear</label>
        <input id="pCrearPoliza" name="Poliza[]" value="Crear" type="checkbox"/>
        <label for="pBuscarPoliza">Buscar</label>
        <input id="pBuscarPoliza" name="Poliza[]" value="Buscar" type="checkbox"/>
        <label for="pModificarPoliza">Modificar</label>
        <input id="pModificarPoliza" name="Poliza[]" value="Modificar" type="checkbox"/>
        <label for="pEliminarPoliza">Eliminar</label>
        <input id="pEliminarPoliza" name="Poliza[]" value="Eliminar" type="checkbox"/>
        </p>

        <h4 id="Servicio">Servicio</h4>
        <p>
        <label for="pCrearServicio">Crear</label>
        <input id="pCrearServicio" name="Servicio[]" value="Crear" type="checkbox"/>
        <label for="pBuscarServicio">Buscar</label>
        <input id="pBuscarServicio" name="Servicio[]" value="Buscar" type="checkbox"/>
        <label for="pModificarServicio">Modificar</label>
        <input id="pModificarServicio" name="Servicio[]" value="Modificar" type="checkbox"/>
        <label for="pEliminarServicio">Eliminar</label>
        <input id="pEliminarServicio" name="Servicio[]" value="Eliminar" type="checkbox"/>
        </p>
    </div>

我希望我已经解释过了。 此致!

修改

这是我对每个区域的索引和复选框所做的事情:

NumH4 = 0
NUmH4 = $('#permisosPerfiles div').children('h4').length(); //5
WHile <= NumH4
     numCheckBoxes = 0
     numCheckBoxes = //Code to get total of checkboxes after each $this H4
     while <= numCheckBoxes
         //Code to set checked/unchecked according to data obtained from the database 1 = checked, 0 = unchecked
     numCheckBoxes++;
numH4++;

下图是我数据库中表的结构,我得1或0来检查或取消选中!

也许问题或标题写得不好但是因为我的英语不是很好,无法正确解释这个问题!需要与某人聊天才能让我更好地理解。

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您想要元素的索引,请使用以下命令:

$("#element").parent().index($("#element"));

你总是把你需要索引的元素的父元素。

我为你做了一个jsFiddle,它将索引放在HTML中(只是为了显示它是哪些索引)。

答案 1 :(得分:0)

如果你想要H4标签下的复选框ID(这就是你要求的那么?),你可以使用下面的代码

$("#permisosPerfiles h4").each(function(index, elem) {
    console.log($(this).text());
    var h4id=$(this).attr('id');
    console.log($('#'+h4id+'+p input:checkbox').length);
});

您可以将console.log替换为您要执行的操作。这是我为它创建的jsFiddle jsFiddle