Php jquery函数不能处理多行

Php jquery函数不能处理多行,php,jquery,html,Php,Jquery,Html,我有一个由jQuery生成的表,还有一个在按ENTER键时触发事件的函数。 表生成正确,但函数仅在表的第一个工作中工作 我的表格html如下所示: <table border="1" id="PlantillaTable" name="PlantillaTable"> <tbody> <tr> <th rowspan="2" scope="col">Cargo</th> <th colspa

我有一个由jQuery生成的表,还有一个在按ENTER键时触发事件的函数。 表生成正确,但函数仅在表的第一个工作中工作

我的表格html如下所示:

<table border="1" id="PlantillaTable" name="PlantillaTable">
<tbody>
    <tr>
        <th rowspan="2" scope="col">Cargo</th>
        <th colspan="12" scope="col">Escenario de Registro</th>
    </tr>
    <tr>
        <td colspan="2">Folio</td>
        <td colspan="2">Propietario</td>
        <td >Grupo</td>
        <td >Edad</td>
        <td colspan="2">Folio</td>
        <td colspan="2">Suplente</td>
        <td >Grupo</td>
        <td >Edad</td>
    </tr>
    <tr id="FilaTable">
        <th scope="row" col="1" row="1">Cargo</th>
        <td col="2" row="1">LISTA</td>
        <td col="3" row="1">
            <input type="text" id="AspiranteField" name="AspiranteField" placeholder="FOLIO" />
        </td>
        <td col="4" row="1">FOTO</td>
        <td col="5" row="1">NOMBRE</td>
        <td col="6" row="1">GRUPO</td>
        <td col="7" row="1">EDAD</td>
        <td col="8" row="1">LISTA</td>
        <td col="9" row="1">
            <input type="text" id="AspiranteField" name="AspiranteField" placeholder="FOLIO" />
        </td>
        <td col="10" row="1">FOTO</td>
        <td col="11" row="1">NOMBRE</td>
        <td col="12" row="1">GRUPO</td>
        <td col="13" row="1">EDAD</td>
    </tr>
</tbody>

货物
登记册
对开本
丙级
格鲁波
伊达
对开本
苏普伦特
格鲁波
伊达
货物
利斯塔
福托
名义
格鲁波
伊达
利斯塔
福托
名义
格鲁波
伊达

我的职责如下:

$.fn.pressEnter = function(fn) {  
    return this.each(function() {  
        $(this).bind('enterPress', fn);
        $(this).keyup(function(e){
            if(e.keyCode == 13)
            {
              $(this).trigger("enterPress");
            }
        })
    });  
 }; 

$('input').pressEnter(function(){
    var trid = ($(this).closest('tr').attr('id'));
    var opcion = ($(this).closest('td').index());
    var valor = $(this).val();
    $.getJSON("php/getAspiranteNombre.php?AspiranteId="+valor,function(data){
        $.each(data,function(index,item) {
            if(opcion < 4)
            {
                $("#"+trid+" td").eq(3).html('<p>'+item.NAME+'</p>');
                $("#"+trid+" td").eq(4).html('<p>'+item.GRUPO+'</p>');
                $.getJSON("php/getFoto.php?AspiranteId="+valor,function(data2){
                    $("#"+trid+" td").eq(2).html('<img src="aspiranteFoto/thumb_'+data2+'" width="50px" height="50px"/>');
                });
                $.getJSON("php/getEdad.php?Nacimiento="+item.EDAD,function(data3){
                    $("#"+trid+" td").eq(5).html('<p>'+data3+'</p>');
                });
            }
            else
            {
                $("#"+trid+" td").eq(9).html('<p>'+item.NAME+'</p>');
                $("#"+trid+" td").eq(10).html('<p>'+item.GRUPO+'</p>');
                $.getJSON("php/getFoto.php?AspiranteId="+valor,function(data2){
                    $("#"+trid+" td").eq(8).html('<img src="aspiranteFoto/thumb_'+data2+'" width="50px" height="50px"/>');
                });
                $.getJSON("php/getEdad.php?Nacimiento="+item.EDAD,function(data3){
                    $("#"+trid+" td").eq(11).html('<p>'+data3+'</p>');
                });
            }
        });
    });
})
$.fn.presenter=函数(fn){
返回此.each(函数(){
$(this.bind('enterPress',fn);
$(此).keyup(函数(e){
如果(e.keyCode==13)
{
$(此).trigger(“enterPress”);
}
})
});  
}; 
$('input')。按ENTER键(函数(){
var trid=($(this).closest('tr').attr('id'));
var opcion=($(this).closest('td').index());
var valor=$(this.val();
$.getJSON(“php/getAspiranteNombre.php?AspiranteId=“+valor,函数(数据)){
$。每个(数据、功能(索引、项目){
if(opcion<4)
{
$(“#”+trid+“td”).eq(3).html(“”+item.NAME+”

”); $(“#”+trid+“td”).eq(4).html(“”+item.GRUPO+”

”); $.getJSON(“php/getFoto.php?AspiranteId=“+valor,function(data2)){ $(“#”+trid+“td”).eq(2).html(“”); }); $.getJSON(“php/getEdad.php?Nacimiento=“+item.EDAD,函数(data3)){ $(“#”+trid+“td”).eq(5).html(“”+data3+”

”); }); } 其他的 { $(“#”+trid+“td”).eq(9).html(“”+item.NAME+”

”); $(“#”+trid+“td”).eq(10).html(“”+item.GRUPO+”

”); $.getJSON(“php/getFoto.php?AspiranteId=“+valor,function(data2)){ $(“#”+trid+“td”).eq(8).html(“”); }); $.getJSON(“php/getEdad.php?Nacimiento=“+item.EDAD,函数(data3)){ $(“#”+trid+“td”).eq(11).html(“”+data3+”

”); }); } }); }); })
它基本上要求在数据库中输入一个值,并将其放在空格中。问题是,在表的第一行(动态生成)中,函数可以完美地工作,但在随后的行中,它什么都不做


提前感谢您的帮助

首先,您必须分别遍历每个
tr
,然后您可以针对
td
的内部

您可以使用以下命令循环行:

$("table tr").each(function(i,v){

  $(this).find("td:eq(3)").html('<p>'+item.NAME+'</p>');
  ....

});
$(“表tr”)。每个(函数(i、v){
$(this.find(“td:eq(3)”).html(“”+item.NAME+”

”); .... });

它将通过您的所有行,而不仅仅是第一行。

您必须更改到这一行的方式:

$("#PlantillaTable").find("input").keyup(function(ev) {
    if (ev.which === 13 ) {
      //yout code here...
    }
});
将enter按钮处理程序附加到此表中的所有输入值


此选项将更改我表中具有td索引3的每个td,我只需要修改输入被命中的行。这也是一个示例,用于访问每一行。你应该能够从代码中推断出来。谢谢你的回复。这段代码实际上很有帮助,但是我的问题似乎是处理ENTER事件的函数似乎是在构造表之前加载的。我现在正在寻找解决办法。谢谢!我仍然有相同的问题时,点击“进入”。表格的第一行非常好用,但对于表格的其余部分,它什么都不起作用。该表通过jQuery clone方法添加了10多行。我能够通过首先生成表的框架,然后添加功能来解决我遇到的问题。您的代码帮助我简化了ENTER函数的过程。谢谢!