Php jquery函数不能处理多行
我有一个由jQuery生成的表,还有一个在按ENTER键时触发事件的函数。 表生成正确,但函数仅在表的第一个工作中工作 我的表格html如下所示: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
<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函数的过程。谢谢!