2013-11-28 2 views
1

Когда пользователь нажимает entre, данные будут сохраняться в базе данных.извлекает данные из базы данных без обновления страницы

Ajax

$('td.edit').keydown(function(event){ 


    arr = $(this).attr('class').split(" "); 
    var clientid=document.getElementById("client").value; 
    account_id=document.getElementById("account_id").value; 


    if(event.which == 13) 
    { 

$.ajax({ type: "POST", 
         url:"clientnetworkpricelist/update.php", 
         data: "value="+$('.ajax input').val()+"&rowid="+arr[2]+"&field="+arr[1]+"&clientid="+clientid+"&account_id="+account_id, 
         success: function(data){ 

         $('#CPH_GridView1_Status').append(data); 
         $('.ajax').html($('.ajax input').val()); 
         $('.ajax').removeClass('ajax'); 
               }}); 
           } 

           } 

Html

<td id="CPH_GridView1_Status'.$rows['net_id'].'" class="edit2 status '.$rows["net_id"].' "><img src="image/'.$rows["status"].'f.png" /></td> 

После успеха я хочу, чтобы получить данные из базы данных и поместить его в соответствующую тд (в той же строке щелкнули тд) Мне удастся получить данные, но не восстановить их в правильном td

+0

Используйте 'контекст: 'для' $ .ajax() 'для отправки co ntext в функцию 'success', которая идентифицирует строку. – Barmar

+0

Вам нужно просто отобразить его на приведенной странице вашего звонка AJAX и взять его из данных, отправленных обратно по вызову AJAX. –

+0

'$ (this)' указатель должен по-прежнему указывать на нажатый td, так почему бы вам не использовать это, чтобы вернуть данные к событию, сгенерированному td – dreamweiver

ответ

2

, который вас рябит хотите загрузить данные? изменить:

$('#CPH_GridView1_Status').append(data); 

в

$('#CPH_GridView1_Status'+arr[2]).append(data); 
+0

спасибо за ваш ответ, но он снова показал, что он показывает больше чем одна информация, которая не очищает предыдущие данные, вы можете сказать мне, как очистить предыдущие данные, когда новые данные добавлены. – arok

+0

использовать html вместо append: $ ('# CPH_GridView1_Status' + arr [2]). html (data); –

+0

см. Этот вопрос http://stackoverflow.com/questions/20262515/how-to-assign-the-retrieved-data-to-the-different-td и, пожалуйста, предоставьте мне ваше предложение спасибо – arok

1

Перед добавлением данных первого ясно тока '', используя

$('#CPH_GridView1_Status'+arr[2]).empty(); 

, а затем добавить данные

$('#CPH_GridView1_Status'+arr[2]).append(data); 
Смежные вопросы