-
1. Data: 2012-03-21 18:21:13
Temat: JQuery - kolejna prośba o pomoc
Od: "S" <a...@w...pl>
Witam
Borykam się z tym JQ (wcześniej ograniczało się to do bardzo prostych
rzeczy) i strasznie się motam. Mam nadzieję, że szanowni Grupowicze wybaczą
mi kolejne pytanie.
Zrobiłem sobie powielanie rekordów tabeli z elementami formularza i mam
teraz problem z dodawaniem i usuwaniem w pewnym szczególnym przypadku.
Chodzi o to, że jeśli najpierw usunę bazowy rekord z którego robię .clone()
to nie mogę siłą rzeczy później już nic dodać. Wydawało mi się, ze
rozwiązałem problem (poniżej kod) ale w tej chwili mam tak, że jak kliknę to
mi klonuje więcej niż jeden rekord. Jak zrobić aby clone zrobiło swoje tylko
na jednym elemencie a nie na wszystkich o danym identyfikatorze?
A o to kod:
Tu robię clone i po prostu sprawdzam czy ten bazowy rekord jest widoczny czy
nie. Jeśli nie to biorę z tych wcześniej skopiowanych (pewnie nakombinowałem
niemiłosiernie)
$('#add_koszt_transportu_next').click(function(){
var myEl = $('#koszt_dostawy_table
tr').clone().appendTo('#koszt_dostawy_table2');
myEl.find('input[type=text]').val('');
if($('#koszt_dostawy_table .row_koszt_transportu').is(':visible')) {
else {
var myEl2 = $('#koszt_dostawy_table2
tr').clone().appendTo('#koszt_dostawy_table2');
myEl2.find('input[type=text]').val('');
}
});'
A tu kod odpowiedzialny za usuwanie
$('.unset_koszt_transportu').click(function(){
$(this).parents('.row_koszt_transportu').hide();
if($(this).parents('.row_koszt_transportu').is(':vis
ible') ) {
$("#add_koszt_transportu_next").hide('slow');
}
return false;
});
$('.unset_koszt_transportu').live('click',function()
{
$(this).parents('.row_koszt_transportu').remove();
return false;
});
z góry dziękuję za pomoc i pozdrawiam
Sławek
-
2. Data: 2012-03-21 18:58:11
Temat: Re: JQuery - kolejna prośba o pomoc
Od: "S" <a...@w...pl>
Pewnie na okrętkę ale poradziłem sobie tak:
$('#add_koszt_transportu_next').click(function(){
var myEl = $('#koszt_dostawy_table
tr').clone().appendTo('#koszt_dostawy_table2');
myEl.find('input[type=text]').val('');
if($('#koszt_dostawy_table .row_koszt_transportu').is(':visible')) {
}else {
$("#koszt_dostawy_table .row_koszt_transportu").show();
var myEl = $('#koszt_dostawy_table
tr').clone().appendTo('#koszt_dostawy_table2');
myEl.find('input[type=text]').val('');
$("#koszt_dostawy_table .row_koszt_transportu").hide();
}
Mam jednak wrażenie że to dość prostackie rozwiązanie więc jeśli jakaś dobra
dusza podpowie coś bardziej eleganckiego to będę wdzięczny.
pozdrawiam
Sławek
-
3. Data: 2012-03-21 19:50:15
Temat: [OT] Re: JQuery - kolejna prośba o pomoc
Od: Paweł Piskorz <n...@p...nie?>
Czy mógłbyś przestać crosspostować na pl.comp.www?
--
message[autor="PablO"]::after {
content:"Pozdrawiam";
}
-
4. Data: 2012-03-21 20:41:33
Temat: Re: [OT] Re: JQuery - kolejna prośba o pomoc
Od: "S" <a...@w...pl>
>Użytkownik "Paweł Piskorz" napisał w wiadomości grup
>dyskusyjnych:jkd7th$jn6$...@i...gazeta.pl...
>Czy mógłbyś przestać crosspostować na pl.comp.www?
>--
>message[autor="PablO"]::after {
>content:"Pozdrawiam";
>}
A przepraszam czy to jakiś problem? Temat pasuje na obie grupy więc chciałem
sobie zaoszczędzić czas w pisaniu tego samego i tu i tam.
pozdrawiam
Sławek
-
5. Data: 2012-03-21 20:56:03
Temat: Re: JQuery - kolejna prośba o pomoc
Od: Herr <s...@s...out.there>
S wrote:
> Witam
>
> Borykam się z tym JQ (wcześniej ograniczało się to do bardzo prostych
> rzeczy) i strasznie się motam. Mam nadzieję, że szanowni Grupowicze wybaczą
> mi kolejne pytanie.
> Zrobiłem sobie powielanie rekordów tabeli z elementami formularza i mam
> teraz problem z dodawaniem i usuwaniem w pewnym szczególnym przypadku.
> Chodzi o to, że jeśli najpierw usunę bazowy rekord z którego robię .clone()
> to nie mogę siłą rzeczy później już nic dodać. Wydawało mi się, ze
> rozwiązałem problem (poniżej kod) ale w tej chwili mam tak, że jak kliknę to
> mi klonuje więcej niż jeden rekord. Jak zrobić aby clone zrobiło swoje tylko
> na jednym elemencie a nie na wszystkich o danym identyfikatorze?
> A o to kod:
> Tu robię clone i po prostu sprawdzam czy ten bazowy rekord jest widoczny czy
> nie. Jeśli nie to biorę z tych wcześniej skopiowanych (pewnie nakombinowałem
> niemiłosiernie)
[rachu ciachu]
> var myEl2 = $('#koszt_dostawy_table2 >
tr').clone().appendTo('#koszt_dostawy_table2');
Pobierasz *wszystkie* rzędy tabelki z #koszt_dostawy_table2, klonujesz
je i dodajesz do tabelki. Ilość rzędów w tabelce rośnie coraz
szybciej...
Zamień selektor dla źródła na taki:
#koszt_dostawy_table2 > tr:last-child
powinno pomóc.
--
Herr C(...)a
mój e-mail? http://cerbermail.com/?YWDqT8olYO
-
6. Data: 2012-03-21 21:44:28
Temat: Re: JQuery - kolejna prośba o pomoc
Od: "S" <a...@w...pl>
>[rachu ciachu]
> var myEl2 = $('#koszt_dostawy_table2 >
> tr').clone().appendTo('#koszt_dostawy_table2');
>Pobierasz *wszystkie* rzędy tabelki z #koszt_dostawy_table2, klonujesz
>je i dodajesz do tabelki. Ilość rzędów w tabelce rośnie coraz
>szybciej...
>Zamień selektor dla źródła na taki:
>#koszt_dostawy_table2 > tr:last-child
>powinno pomóc.
Faktycznie też działa, wielkie dzięki.
pozdrawiam
Sławek
-
7. Data: 2012-03-21 22:27:43
Temat: Re: [OT] Re: JQuery - kolejna prośba o pomoc
Od: Paweł Piskorz <n...@p...nie?>
W dniu 2012-03-21 20:41, S pisze:
> A przepraszam czy to jakiś problem?
Owszem, czytelnicy pl.comp.www zainteresowani tematyką JavaScript
subskrybują obie grupy i przez Ciebie widzą podwójnie. Zaś ci
niezainteresowani mają głęboko gdzieś Twoje lamerskie problemy z jQuery ;)
> Temat pasuje na obie grupy więc
> chciałem sobie zaoszczędzić czas w pisaniu tego samego i tu i tam.
Każdy temat dla pl.comp.lang.javascript pasuje do obu grup, jednak
dziwnym trafem tylko Ty śmiecisz crosspostami na pcw. Proszę Cię przestań.
--
message[autor="PablO"]::after {
content:"Pozdrawiam";
}