[英]$.each jquery loop printing one “undefined” for every element after getJSON request, grid data prints perfectly
I'm doing a JSON request and after I loop through the elements and they rows are printed perfectly. 我正在执行JSON请求,并在遍历元素后将它们的行完美打印。 The thing is that I keep seeing one undefined printing for every element on the top of the grid I'm building, How do I get rid of it?...... 事实是,我不断在构建的网格顶部为每个元素看到一个未定义的打印,我该如何摆脱呢?
undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined 未定义未定义未定义未定义未定义未定义未定义未定义未定义未定义
$("#newsletters").click(function(){
$.getJSON("/newsletter/getNewsletters", function(result){
var grid="<br><table id='newsletter_grid'>";
grid+="<thead><tr><th></th><th>Año</th><th>Mes</th><th>Quincena</th><th></th><th></th><th>Publicado</th></tr></thead>";
grid+="<tr><td><button id='agregar_button' onclick='crearNuevoNewsLetter()'>Nuevo</button></td></tr>";
$.each(result, function(i, elem){
//show view fieldset, son los campos que se muestran para visualizar los datos
grid+=mostrarElementosViewMode(elem);
//crea los hidden fields asociados a los view fields creados arriba de este
grid+=crearRowHidden(elem);
});
grid+="</table>";
$("#grilla").html(grid);
});
});
function mostrarElementosViewMode(elem){
var elemento;
elemento+="<tr id='fieldset_"+elem.id+"'>";
elemento+="<td><input type='hidden' value='"+elem.id+"'></td>";
elemento+="<td id='anio_view_"+elem.id+"'>"+elem.anio+"</td>";
elemento+="<td id='mes_view_"+elem.id+"'>"+elem.mes+"</td>";
elemento+="<td id='quincena_view_"+elem.id+"'>"+elem.quincena+"</td>";
elemento+="<td><button id='editar_"+elem.id+"' value='Editar' onclick='muestraEditarFieldsNewsletter(\""+elem.id+"\")'>Editar</td>";
elemento+="<td><button id='eliminar_newsletter_"+elem.id+"' value='Eliminar'>Eliminar</td>";
if(elem.publicado == 1){
elemento+="<td><input type='checkbox' id='publicado_view_"+elem.id+"' name='publicado' checked='checked'></td>";
} else {
elemento+="<td><input type='checkbox' id='publicado_view_"+elem.id+"' name='publicado'></td>";
}
elemento+="</tr>";
return elemento;
}
function crearRowHidden(elem){
var nuevoHiddenFieldSet="";
nuevoHiddenFieldSet+="<tr id='fieldset_hidden_"+elem.id+"' style='display:none'>";
nuevoHiddenFieldSet+="<td><input type='hidden' value='"+elem.id+"'></td>";
nuevoHiddenFieldSet+="<td><input name='anio' value='"+elem.anio+"' id='anio_"+elem.id+"' /></td>";
nuevoHiddenFieldSet+="<td><input name='mes' value='"+elem.mes+"' id='mes_"+elem.id+"' /></td>";
nuevoHiddenFieldSet+="<td><input name='quincena' value='"+elem.quincena+"' id='quincena_"+elem.id+"' /></td>";
nuevoHiddenFieldSet+="<td><button value='Guardar' name='guardar_newsletter' id='guardar_newsletter_"+elem.id+"' onclick='guardarNewsletter("+elem.id+",\"update\")'>Guardar</td>";
nuevoHiddenFieldSet+="<td></td>";
if(elem.publicado==1){
nuevoHiddenFieldSet+="<td><input type='checkbox' id='publicado_"+elem.id+"' name='publicado' checked='checked'></td>";
}else{
nuevoHiddenFieldSet+="<td><input type='checkbox' id='publicado_"+elem.id+"' name='publicado'></td>";
}
nuevoHiddenFieldSet+="</tr>";
return nuevoHiddenFieldSet;
}
and the web service returns this JSON: 然后Web服务返回以下JSON:
[{"id":"12","anio":"2016","mes":"1","quincena":"4","publicado":"1"},{"id":"11","anio":"0000","mes":"1"
,"quincena":"1","publicado":"1"},{"id":"10","anio":"2000","mes":"1","quincena":"1","publicado":"1"},
{"id":"9","anio":"2000","mes":"1","quincena":"5","publicado":"1"},{"id":"8","anio":"0000","mes":"1","quincena"
:"1","publicado":"1"},{"id":"6","anio":"0000","mes":"1","quincena":"3","publicado":"1"},{"id":"5","anio"
:"2016","mes":"1","quincena":"5","publicado":"1"},{"id":"4","anio":"2016","mes":"1","quincena":"4","publicado"
:"1"},{"id":"3","anio":"2016","mes":"1","quincena":"3","publicado":"1"},{"id":"2","anio":"2016","mes"
:"1","quincena":"2","publicado":"1"},{"id":"1","anio":"2016","mes":"2","quincena":"1","publicado":"1"
}]
I think you must change 我认为你必须改变
function mostrarElementosViewMode(elem){
var elemento;
to 至
function mostrarElementosViewMode(elem){
var elemento = '';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.