안녕하세요 저는 Picnet 테이블 필터를 동일한 페이지의 두 테이블에서 사용하고 있습니다. 그들 중 하나는 AJAX를 사용하여 MySQL 데이터베이스에서 데이터를 검색하는 js 파일에서 동적으로 생성됩니다. 다른 하나에는 하드 코딩 된 데이터가 있습니다.picnet 테이블 필터가 동적 테이블에서 작동하지 않습니다.
동적으로 생성 된 것은 작동하지 않는 것입니다. (하드 코딩 된 코드를 작성하여 문제가 관련되어 있는지 확인했습니다.) 처음에는 jad 함수에서 "thead"및 "th"태그를 생성하고 있었지만 오류가 발생하면서 "thead"는 정의되지 않았습니다.이 코드를 HTML 파일로 옮겼습니다 ... 현재 "tr"과 "td"를 "tbody"에 append 함수로 추가하는 중입니다 ... 그러나 필터가 작동하지 않습니다. 콤보 상자 필터 인 경우 유일한 옵션은 "선택"입니다. 열 데이터를 기반으로 생성해야하는 다른 옵션은 그렇지 않습니다.
여기에서 문제가 될 수있는 아이디어가 있습니까? 사전에 감사합니다 ... 모니카
HTML 코드 :
<table id="tablaReservas" border="1">
<thead>
<tr><th>Reserva#</th><th filter-type="ddl">Recurso</th><th>Inicio</th><th>Fin</th>th>Responsable</th><th>Usuario</th></tr>
</thead>
<tbody>
</tbody>
</table>
Quick Find: <input type="text" id="quickfind"/><a id="cleanfilters" href="#">Clear Filters</a>
<table id='demotable'>
<thead>
<tr><th filter-type="ddl">Col1</th><th>Col2</th><th>Col3</th></tr>
</thead>
<tbody>
<tr><td>Value 1</td><td>Value 2</td><td>Value 3</td></tr>
<tr><td>Value 4</td><td>Value 6</td><td>Value 8</td></tr>
<tr><td>Value 5</td><td>Value 7</td><td>Value 9</td></tr>
</tbody>
</table>
자바 스크립트 코드 :
$(document).ready(inicializar);
function inicializar(){
traerReservas();
var options = { additionalFilterTriggers: [$('#quickfind')], clearFiltersControls: [$('#cleanfilters')]};
$("#tablaReservas").tableFilter(options);
$("#demotable").tableFilter(options);
}
function traerReservas(){
$.ajax({async:true,
url:"../Persistencia/procesaConsultaReservas.php",
type:"POST",
datatype:"json",
success:mostrarTabla,
error:mensajeTablaReservas,
});
}
function mostrarTabla(data){
var d= eval('(' + data + ')');
if (data!=0) {
for (i=0; i < d.length; i++) {
var tr= $("<tr id='" + d[i].id + "' onclick=mostrarRecursos(" + d[i].id + ");>" +
"<td>" + d[i].id + "</td>" +
"<td>" + d[i].nombre + "</td>" +
"<td>" + d[i].inicio + "</td>" +
"<td>" + d[i].fin + "</td>" +
"<td>" + d[i].responsable + "</td>" +
"<td>" + d[i].usuario + "</td>" +
"</tr>");
$("#tablaReservas tbody").append(tr);
}
}
}
문제없이 작동했습니다. –