Witam.
Jako, że jQuery dopiero zaczynam poznawać potrzebuję Waszej pomocy, dla Was pewnie będzie to drobiazg a ja się kurczę męczę.
Tak wyglądu mini struktura dokumentu:
<p>
<input type="text" id="tekst" />
<input type="text" class="ile" value="1" style="width: 50px" />
<input type="button" onclick="addProduct()" value="Dodaj" />
<label id="produkt">: </label>
<label id="cos"></label>
</p>
Używam pluginu Autocomplete. Chodzi o to, że gdy wybieram pewną pozycję z listy rozwijalnej, po wybraniu klikam przycisk który uaktywnia funkcja która wysyła żądaniem post coś do kontrolera. Tutaj wszystko działa sprawnie.
$(function () {
$('#tekst').autocomplete(
{
source: '/Zamowienie/FilterProducts'
}
}
)
})
function addProduct() {
$.post('/Zamowienie/AddProduct', { "nazwa": $('#tekst').val(), "ile": $('.ile').val(), "idKlienta": 6 }).done(handleProductAddition);
}
Na koniec dane wracają, są wstawiane w label i przy okazji tworzy się kolejne pole typu input, z już innym id.
function handleProductAddition(data) {
$("#produkt").text(data.Nazwa);
$("#tekst").val("");
$("#tekst").focus();
$("#cos").replaceWith('<input type="text" id = "xyz"/><input type="button" value="test" onclick="x()"/>');
}
Mam drugą funkcję Autocomplete, która powinna operować na tym nowo utworzonym polu ale za nic nie mogę jej zmusić do działania.
$(function ()
{$('#xyz').autocomplete(
{
source: '/Zamowienie/FilterProducts'
}
}
)
})
Pewnie trzeba coś przeładować tak aby plugin widział te nowe pole, ale nie wiem jak to zrobić. Byłbym wdzięczny o jakieś o wskazówki.
Pozdrawiam