cómo asignar los datos recuperados a los diferentes td usando ajax

Cuando el usuario presiona el botón, los datos se guardan en la base de datos. Después de tener éxito, deseo recuperar datos de la base de datos y colocarlos en el td apropiado (en la misma fila del td cliqueado). Tengo éxito al recuperar datos pero no asignar los recuperados. datos a los diferentes td

ajax

$(document).ready(function(){ $('.edit2').on('click', function(){ arr = $(this).attr('class').split( " " ); var clientid=document.getElementById("client").value; $.ajax({ type: "POST", url:"clientnetworkpricelist/updateprice.php", data: "value="+$('.ajax input').val()+"&rowid="+arr[2]+"&field="+arr[1]+"&clientid="+clientid, success: function(data){ $('#CPH_GridView1_clientprice'+arr[2]).empty(); $('#CPH_GridView1_clientprice'+arr[2]).append(data); $('.ajax').html($(this).val()); $('.ajax').removeClass('ajax'); }}); } ); }); 

HTML

 '.$rows["clientprice"].'  

en mi updateprice.php me conecto a la base de datos y recupero el valor de la base de datos solo imprima el valor de recuperación como este

 print $newclientprice; print $status; 

mi resultado

tanto el valor se muestran ahora en el mismo td pero lo quiero en td separado 0/01 en precio del cliente y aumento en el estado

 Client Price status 0.01increase | | | 

alguien me ayude gracias

updateprice.php

cambiemos esto:

 < ?php print $newclientprice; print $status; 

No estoy seguro de lo que estás tratando de hacer. Como está utilizando jQuery, hagamos uso de JSON para nuestro beneficio. Importante: el siguiente código depende de que no se envíe ninguna salida antes de que se ejecute, y terminará la ejecución de php inmediatamente

 < ?php // set type so client can understand what was sent header('Content-Type: application/json'); // transform our 2 values into a JSON array, // this will be transparently transformed into an array for your ajax handler echo json_encode(array($newclientprice, $status)); // end the script, this is what the client ajax request wanted exit; 

javascript.js

Me tomé la libertad de reescribir tu código para que pareciera más claro, y al menos con algunos comentarios también

 $(document).ready(function(){ var onClick, ajaxSuccessHandleMaker; onClick = function() { var url = 'clientnetworkpricelist/updateprice.php', clientid = $('#client')[0].value, classesArray = $(this).attr('class').split(" "), // send data as object, jQuery will transparently transform for the server data = { value : $('.ajax input').val, rowid : classesArray[2], field : classesArray[1], clientid : clientid }; // send POST request and expect JSON $.post(url,data,ajaxSuccessHandleMaker(classesArray),'json'); }; // success returns the ajax handler with a closure on classesArray ajaxSuccessHandleMaker = function (arr) { // the handler EXPECTS an array, which is why we have to protect output in updateprice.php return function (arrayOf2vals) { $('#CPH_GridView1_clientprice'+arr[2]).html(arrayOf2vals[0]); $('#CPH_GridView1_Status'+arr[2]).html(arrayOf2vals[1]); // I am not sure what you want with the following 2 lines of code $('.ajax').html($(this).val());// what is this? $('.ajax').removeClass('ajax');// what is this? }; }; // set the onClick handler $('.edit2').click(onClick); }); 

Finalmente

  • cualquier pregunta es bienvenida
  • por favor prueba si funciona, si no lo hace, vuelve a comentar y trataré de ayudar