<input type="text" id="NazwaProduktu" onchange="pobierzProdukty();">
<table id="produkty">
<thead>
tr>
<th>Nazwa</th>
<th>Ilosc</th>
</tr>
</thead>
<tbody class="ProduktyDane" />
</table>
function pobierzProdukty() {
$.ajax({
type : "GET",
url : "/sklep/produkty",
data : {
nazwa : $('#NazwaProduktu').val(),
},
dataType : 'json',
success : function(response) {
$.each(response, function(k, pozycja) {
$(".ProduktyDane").append(pozycja);
});
},
})
}
W kontrolerze mam:
@RequestMapping(value = "/sklep/produkty", produces = { MediaType.APPLICATION_JSON_VALUE }, method = RequestMethod.GET)
public @ResponseBody List<Produkt> pobierzProdukty(@RequestParam("nazwa") String nazwa){
List<Produkt> produkty = null;
produkty = produktyDAO.list(Restrictions.like("nazwa", nazwa + "%"));
return produkty;
}
To działa na zwykłej tabeli. Chciałbym jednak użyć biblioteki https://www.datatables.net/
Przy sortowaniu, wyszukiwaniu dane znikają, bo biblioteka operuje domyślnie na fizycznych danych.
Znazłem w sieci przykłady pobierania danych przez bibliotekę, ale bez parametrów (tutaj: nazwa). Wie ktoś co trzeba dopisać do:
$(document).ready(function() {
$('#produkty').DataTable({
...
});
})