Thread View: pl.comp.lang.javascript
4 messages
4 total messages
Started by RM
Wed, 20 May 2020 18:47
jakby nie zadziałała metoda load biblioteki jQuery
Author: RM
Date: Wed, 20 May 2020 18:47
Date: Wed, 20 May 2020 18:47
36 lines
2393 bytes
2393 bytes
Mam tabelkę z danymi ofert pracy. Próbuję zrobić coś takiego:
naciśnięcie przycisku 'Pokaż szczegóły' ma wyświetlać szczegóły oferty
pracy w wierszu niżej.
Robię to tak:
<tr><th scope="row">19 <input type="button" value="Pokaż szczegóły"
onclick="if (this.value == 'Pokaż szczegóły') { this.value = 'Schowaj
szczegóły';
$('#offer_details_19').load('http://localhost/~robert/praca/employee/show_offer/19');
} else { this.value = 'Pokaż szczegóły';
$('#offer_details_19').html(''); }
$('#offer_row_19').toggle();"></th><td>tt</td><td></td><td>Marketing /
PR /
media</td><td>podstawowe</td><td>małopolskie</td><td>Warszawa</td><td>2020-05-19</td></tr>
<tr id="offer_row_19" style="display: none"><td colspan="8"
id="offer_details_19"></td></tr>
Akcja employee/show_offer wygląda tak (używam CodeIgnitera):
public function show_offer($id = NULL) {
$this->load->model('offers_model');
$offer = $this->offers_model->getOffer($id);
if (!isEmpty($id)) {
return 'HELLO FROM AJAX'; // $this->common->showOffer($offer,
$this->offers_model, TRUE);
}
return '';
}
Niestety napis 'HELLO FROM AJAX' nie pojawia się w komórce
id="offer_details_19", jedynie zmienia się napis na buttonie (na:
'Schowaj szczegóły').
Wygląda to tak, jakby nie zadziałała metoda load biblioteki jQuery.
Sama biblioteka jQuery działa mi prawidłowo. W innym miejscu używam
metody load do captcha'y i tam mi działa. Tam robię podobnie.
Proszę o pomoc.
Re: jakby nie zadziałała metoda load biblioteki jQuery
Author: RM
Date: Thu, 21 May 2020 03:08
Date: Thu, 21 May 2020 03:08
50 lines
3025 bytes
3025 bytes
W dniu 20.05.2020 o 20:47, RM pisze:
> Mam tabelkę z danymi ofert pracy. Próbuję zrobić coś takiego:
> naciśnięcie przycisku 'Pokaż szczegóły' ma wyświetlać szczegóły oferty
> pracy w wierszu niżej.
> Robię to tak:
>
> <tr><th scope="row">19 <input type="button" value="Pokaż szczegóły"
> onclick="if (this.value == 'Pokaż szczegóły') { this.value = 'Schowaj
> szczegóły';
> $('#offer_details_19').load('http://localhost/~robert/praca/employee/show_offer/19');
> } else { this.value = 'Pokaż szczegóły';
> $('#offer_details_19').html(''); }
> $('#offer_row_19').toggle();"></th><td>tt</td><td></td><td>Marketing /
> PR /
> media</td><td>podstawowe</td><td>małopolskie</td><td>Warszawa</td><td>2020-05-19</td></tr>
>
> <tr id="offer_row_19" style="display: none"><td colspan="8"
> id="offer_details_19"></td></tr>
>
> Akcja employee/show_offer wygląda tak (używam CodeIgnitera):
>
> public function show_offer($id = NULL) {
> $this->load->model('offers_model');
> $offer = $this->offers_model->getOffer($id);
> if (!isEmpty($id)) {
> return 'HELLO FROM AJAX'; // $this->common->showOffer($offer,
> $this->offers_model, TRUE);
> }
> return '';
> }
>
> Niestety napis 'HELLO FROM AJAX' nie pojawia się w komórce
> id="offer_details_19", jedynie zmienia się napis na buttonie (na:
> 'Schowaj szczegóły').
> Wygląda to tak, jakby nie zadziałała metoda load biblioteki jQuery.
> Sama biblioteka jQuery działa mi prawidłowo. W innym miejscu używam
> metody load do captcha'y i tam mi działa. Tam robię podobnie.
> Proszę o pomoc.
Dodałem jako drugi parametr metody load następującą funkcję:
function(responseTxt, statusTxt, xhr){
if(statusTxt == "success")
alert("External content loaded successfully!");
if(statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
}
i pojawiło się "External content loaded successfully!".
W takim razie nie rozumiem dlaczego nie widać 'HELLO FROM AJAX'.
Re: jakby nie zadziałała metoda load biblioteki jQuery
Author: RM
Date: Thu, 21 May 2020 03:30
Date: Thu, 21 May 2020 03:30
10 lines
1240 bytes
1240 bytes
W dniu 21.05.2020 o 05:08, RM pisze:
> W takim razie nie rozumiem dlaczego nie widać 'HELLO FROM AJAX'.
Dodałem:
$(document).ready(function () {
$('#offer_details_19').on("DOMSubtreeModified", function(){
alert('changed'); });
});
i alert się nie wyświetla.
Re: jakby nie zadziałała metoda load biblioteki jQuery
Author: RM
Date: Thu, 21 May 2020 05:19
Date: Thu, 21 May 2020 05:19
1 lines
1076 bytes
1076 bytes
Znalazłem błąd. Błąd był w funkcji w PHP - powinno być echo a nie return.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads