blackroger
3.11.2009, 23:13:26
Mam taką funkcję:
$(function()
{
$("#new_auction1_cat1").change(
function()
{
$.getJSON("test", {id: $(this).val()},
function()
{
alert('options');
var options = '';
options = 'sadjslkjdlk';
alert('options');
$("#footer").html(options);
})
})
})
#new_auction1_cat1 jest selectem
#footer jest divem
Żądanie jest wysyłane z parametrem, który jest wartością value pola, ale nie jest wywoływana funkcja. Istnieje akcja 'test' w kontrolerze i widok. Nie wiem czemu ta funkcja nie chce się wywołać.
destroyerr
3.11.2009, 23:55:19
Przede wszystkim zacznijmy od tego, że jeśli ajax to najlepiej zaopatrzyć się w firefox + firebug. To podstawa, jeśli już to będziesz miał, to zobaczysz jaki adres jest wywoływany i jaka jest odpowiedź serwera.
Przyjrzyj się temu jaki adres wywołujesz, jeśli nie dodałeś trasy, która pasuje do adresu /test, to symfony oczywiście będzie chciało wywołać akcję index z modułu test. Czyli chyba nie tak jak chciałeś, podaj poprawny adres i wszystko będzie działać.
Na przyszłość koniecznie używaj bbcode, kod w postacji której podałeś nie jest przyjemny do przeglądania.
blackroger
4.11.2009, 00:31:13
Uzywam firebuga. Okazało się że za bardzo zagnieździłem wszystko. Tak działa:
$(function()
{
$("#new_auction1_cat1").change(
function()
{
$.getJSON('test', {id: $(this).val()}, display_cat2())
})
})
function display_cat2()
{
var options = 'sdsada';
$("#new_auction1_cat2").html(options);
//$('#new_auction1_cat2 option:first').attr('selected', 'selected');
}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.