Когда пользователь нажимает кнопку, данные будут сохранены в базе данных. После успеха я хочу получить данные из базы данных и поместить их в нужный тд (в той же строке нажатого td). Я добился успеха, чтобы получить данные, но не назначать извлеченные данные данные к различным td
Аякса
$(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
<td id="CPH_GridView1_clientprice'.$rows['net_id'].'" class="edit clientprice '.$rows["net_id"].'">'.$rows["clientprice"].'</td> <td id="CPH_GridView1_Status'.$rows['net_id'].'" class="edit2 status '.$rows["net_id"].' "><img src="image/'.$rows["status"].'f.png" /></td>
в моем updateprice.php я подключаюсь к базе данных и извлекаю значение из базы данных, все просто печатают возвращаемое значение, подобное этому
print $newclientprice; print $status;
мой результат
оба значения отображаются сейчас в одном и том же td, но я хочу его в отдельном td 0/01 в клиентской цене и увеличении статуса
Client Price status 0.01increase | | |
любой помог мне спасибо.
давайте изменим это:
<?php print $newclientprice; print $status;
Я не уверен, что вы пытаетесь сделать. Поскольку вы используете jQuery, давайте использовать JSON для нашей пользы. Важно: следующий код зависит от того, не отправлен ли вывод перед его исполнением, и он немедленно завершит выполнение php
<?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;
Я взял на себя смелость переписать свой код, чтобы он казался яснее и, по крайней мере, с несколькими комментариями тоже
$(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); });