Вставка нескольких строк в таблицу в tr
Дорый день.
Есть задача. Дана таблица, в который при нажатии на некоторую строку должно подгружаться еще несколько строк (или одна). Как это реализовано: <table><tr><td colspan = 2>LINK</td><tr><tr id="load"></tr></table> При нажатии на LINK срабатывает такой скрипт
$("#load").html(data)
Так вот. Если data = "<td>1</td><td>2</td>"тогда все нормально. А если data = "<td>1</td><td>2</td></tr><tr><td>3</td><td>4</td>"то вообще ничего не происходит. Запрос срабатывает, ответ получается, но в строку ничего не вставляется. Как будто комбинация "</tr><tr>" вводит браузер в ступор и он не может разорвать строку и добавить еще одну. Может кто-то сталкивался? |
Osof,
так это вы не строку рвёте а уже таблицу на части |
Почему таблицу? </table> нигде не вставляется. Если я в исходный код добавляю руками <td>1</td><td>2</td></tr><tr><td>3</td><td>4</td>, то все ок, добавляется две строки. А вот если аяксом - ничего вообще не добавляется.
|
Ошибка в html. Перед tr с ид должен идти закрывающий тэг /tr
|
Цитата:
Конечно там вот так <table><tr><td colspan = 2>LINK</td></tr><tr id="load"></tr></table> |
:write: лучше бы без извратов но если хочется то можно ... тут далее типа код для любителей погорячее
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
#load{
background-color: #00FF00;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(function(){
data = "<td>1</td><td>2</td></tr><tr><td>3</td><td>4</td>";
//data = "<td>1</td><td>2</td>"
$("#load").html(function() {
data = $("<tr>"+data+"<\/tr>");
var i = this.rowIndex, parent = this.parentNode;
$.each(data,function(indx, tr){
if(indx) {
var newTr = parent.insertRow(++i);
newTr.innerHTML = tr.innerHTML
}
});
return data.html()
})
})
</script>
</head>
<body>
<table><tr><td colspan = 2>LINK</td></tr><tr id="load"></tr></table>
</body>
</html>
|
Цитата:
|
Osof,
смотрите пост 6 снова |
Цитата:
Благодарен. А чисто для общего развития. Почему <tr>СЮДА</tr> нельзя вставить <td></td></tr><tr><td></td>? Это баг или фича? |
Osof,
а как бедному парсеру догадаться что вы ему не хрень подсовываите? которую надо ещё разбить на части и после тега вставить а он умеет тока внутрь и то что первое сможет найти в том что ему дадут то и вставит. Цитата:
|
| Часовой пояс GMT +3, время: 17:21. |