2010-10-06 4 views
0

У меня есть таблица HTML, и мне нужно изменить ее содержимое.Как изменить строки таблицы HTML с помощью jQuery

<div id='adf'> 
    <table id='tbl1' runat='server' > 
    <tr><td></td></tr> 
    </table> 
</div> 

Я меняю содержимое с помощью JQuery Ajax и проблема заключается в том, что я доступ к той же таблицы с таким же именем после этого. Поэтому я меняю содержимое HTML и вставляет новый HTML-код таблицы, добавляет новую таблицу. Поэтому мне нужно удалить строки таблицы и добавить результаты в таблицу. Таким образом, содержимое не изменится. Заранее спасибо.

+0

Это поможет, если вы разместите свой код ajax. Ответ будет зависеть от типа содержимого вашего вызова ajax. –

+0

Я получил решение, используя append(). Спасибо за вашу поддержку. – kbvishnu

ответ

2

Если вы правильно поняли, используйте функцию html(), чтобы изменить содержимое после запуска вызова ajax.

В качестве подсказки эффективности обязательно загрузите все изменения в строку и просто вызовите html() один раз в конце. В противном случае ваша страница будет очень медленной.

Если вы просто добавляете новые строки, используйте команду append(). http://api.jquery.com/append/

Не имеет значения, что таблица имеет то же имя. Просто возьмите его по его идентификатору.

+0

спасибо jng5 Позвольте мне проверить. Могу ли я использовать $ ('# abc'). Html (res)? где res - результат ajax? – kbvishnu

+0

Это зависит от того, как выглядит res? Если у него есть

и т. Д., То он должен работать. Если это просто строки, используйте $ ('# tbl1'). Html (res); . –

“ + „<тд стиль = 'ширина: 150px;'>“ + getTextBoxValue ('<% = txtDocName.ClientID%>') + «" ); что это, чтобы добавить новую строку после конкретной строки – kbvishnu

+0

Что мне нужно, чтобы изменить всю строку с данными с сервера? – kbvishnu

+1

вы можете использовать $ ajax-метод jquery – Nithesh

1
$('#tbl1').html($('#tbl1').html() + "<tr><td>this is new row</td></tr>") 
0

Вы должны использовать ClientID таблицы, потому что это runat="server"

$.get('ajax/tbl1.html', function(data) { 
    $('#' + <%= tbl1.ClientID %>).html(data); 
}); 

tbl1.html будет содержать замены строк. Вы можете изменить это на страницу aspx или php или веб-сервис, который возвращает html.

Вот пример JQuery AJAX вызова, который работал для меня в прошлом:

  jQuery.ajax({ type: "POST", 
       url: "MyWebService.asmx/GetHtml", 
       data: "{'Id' :'" + tableId + "'}", //may not be necessary in your case 
       dataType: "json", 
       contentType: 'application/json; charset=utf-8', 
       success: function(json) { 
        var result = eval("(" + json.d + ")"); 
        jQuery('#' + <%= tbl1.ClientID %>).html(result.value); 
       } 
      }); 

Обратите внимание на использование JSON и вызов Eval.

Смежные вопросы

"+ getTextBoxValue ('<% = txtDocNo.ClientID%>') +" "+ getTextBoxValue ('<% = txtIssuedBy.ClientID %> ') + "" + getTextBoxValue (' <% = txtIssuedDate.ClientID%> ') + "" + getTextBoxValue (' <% = txtRenewalDate.ClientID%> ') + "