Otra vez estoy molestando.......quiero ser lo mas claro posible....bueno:
1. trabajo con el framework jquery (según lo que he leido se puede tratar como tal espero no estar escribiendo una bestialidad).
2. en una funcion creo un nuevo tr para mi tabla y la apendizo por decirlo de alguna forma, aqui el codigo:
Código Javascript:
Ver original
success:function(datos){ /*i=$('.contador').asNumber(); conta= i + 1; i=conta;*/ i=0; $.map(datos, function(key, i){ //$('#resultado').append(key.ref); refer = ( key.mar === "servicio" ) ? ' ' : key.ref; //data = {proc:'4', ref:refer} //console.log(data); cadena = "<tr><td id='qty_item_"+i+"' align='center'>" + key.qty + "</td>"; cadena = cadena + "<td class='ref'>" + refer + "</td>"; cadena = cadena + "<td class='name' colspan='2'>" + key.nom + "</td>"; cadena = cadena + "<th id='price_item_"+i+"'>" + key.vlr + "</th>"; cadena = cadena + "<th class='vrt' id='total_item_"+i+"'>" + $("#alter").val() + "</th>"; cadena = cadena + '<td><img onclick="fn_procesos(4);" src="http://www.forosdelweb.com/f127/img/delete.png" width="16px"/>'; cadena = cadena + '<input type="hidden" class="tarea" value="4"/></td></tr>'; if(key.imp==1){ $("#con_iva").append(cadena); }else{ $("#sin_iva").append(cadena); } $('.contador').attr('value', i); i++; });
como podran darse cuenta el segundo td de mi fila almacena el dato de la referencia y es aqui donde tengo inconvenientes, he tratado de mil maneras tratar de tomar ese valor en otra funcion pero no lo logro, anteriormente tambien agregaba filas a mi tabla pero con muchas funciones decidi hacerlo de una forma mas dinamica, por ello los datos llegan a mi funcion desde un PHP como JSON, alli los ubico en sus respectivas celdas y listo.....
Pero al final de cada fila hay una boton(imagen ) para eliminar dicho registro, al dar click llama la funcion fn_procesos(4); enviando el valor '4', este nuemro es para el respectivo case del switch que contiene la mencionada funcion....
en el case he tratado de tomar el valor de la celda que contiene la referencia....pero no he podido....esto es lo que he intentado
Código Javascript:
Ver original
refer = $('table#grilla tbody#con_iva tr td:first-child').text(); refer = $('tr td.ref:first-child').text(); refer = $(this).parents('tr').find('td.ref').text(); refer = $(this).parents('tr').children('td.ref').text(); refer = $(this).parents('tr').siblings('td.ref').text(); refer = $(this).parent('tr').parent('td').find('.ref').text(); refer = $('tr').parents('td.ref').text(); refer = $(this).parents('tr').find('td.ref').eq(0).text();
he intentado mas pero he borrado las lineas...pero son con first-child, blindings(creo que es asi =)), closest, y otras q no recuerdo....
creo q la unica forma de hacerlo es con parents/childs pero no lo he logrado con algunos me arroja null o undefined....pero no entiendo xq.
Dejo claro q la pagina al abrirse consulta una base de datos con PHP el resultado se envio en JSON, lo recibo en una funcion javascript y relleno una tabla existente.
Creo que por crear la fila de tabla con datos de un objeto es q no funciona...pero solo es una idea no algo q pueda ratificar....
Muchachos agradezco la ayuda he perdido varios dias y no lo he logrado....mil gracias y espero hacerme entender......