[ patak_daca @ 13.05.2015. 13:20 ] @
Pozdrav!

Imam jedan problem.

U tabeli imam polje koje nakon unosa podatka dinamički kreira novi red sa istim poljem.

Code:
<td >
        <input  name="serbroj" type="text" class ="serbroj"  value="" style="width:200px;"/>
  </td>  



na to polje je povezan

Code:
 $('.serbroj').autocomplete({
        minLength: 2,
        source: '@Url.Action("TraziRobu")'

      });


kada kreiram novi red sa tim poljem izgubi mi se autocomplete, jednostavno ne radi.

Ako neko ima predlog kako da rešim problem....

Hvala!

Patak
[ dusans @ 13.05.2015. 13:44 ] @
Ne radi samo na tom novom polju koje si dinamički dodao?
[ patak_daca @ 13.05.2015. 13:52 ] @
Da..baš tako..
[ dusans @ 13.05.2015. 14:01 ] @
Moraš da pozoveš ponovo skript za autocomplete JER! to novo polje
nije postojalo u trenutku kada se onaj skript izvršio (verovatno kada se prvi put učitala stranica).

Ovo obično važi za 99% slučajeva kada nešto dinamički dodaješ
a treba da se oživi preko skript plugina - nebitno da li je plugin autocomplete ili nešto drugo.
[ patak_daca @ 13.05.2015. 14:05 ] @
Pa da ...

U tom polju se preko bar code unosi barcod, ako nema barcode on kucanjem u to polje se pojavljuje autocomplete.

Ovo je deo code koji kopira predhodni red

Code:
 var $newRow = $('#TemplateRow').clone(true);

                            $newRow.find('.serbroj').val($("").find('.serbroj').val());

                            $newRow.find('.roba').val($("").find('.roba').val());

                            $newRow.find('*').andSelf().removeAttr('id');

                            $('#grupa_kontrola_za_verifikaciju tr:last').after($newRow);



Da li tu treba da dodam autocomplete ?
[ dusans @ 13.05.2015. 14:07 ] @
Ja bih rekao da može, dodaj ga tu, valjda neće autocomplete da se "pokvari" ako se pozove ponovo i preko starih polja.
Probaj pa vidi.
[ patak_daca @ 13.05.2015. 14:11 ] @
Kada sam dodao





Code:
var $newRow = $('#TemplateRow').clone(true);

                            $newRow.find('.serbroj').val($("").find('.serbroj').val());

                            $newRow.find('.roba').val($("").find('.roba').val());

                            $newRow.find('*').andSelf().removeAttr('id');

                            $('#grupa_kontrola_za_verifikaciju tr:last').after($newRow);


$('.serbroj').autocomplete({

            minLength: 2,
            source: '@Url.Action("TraziRobu")'

          });


ništa se nije desilo...isto radi samo na prvom

molim za pomoć...
[ dusans @ 13.05.2015. 14:17 ] @
Jel ti je ovaj skript u razor view-u ili je standalone u posebnom fajlu?
Pitam zbog onog '@Url.Action("TraziRobu")'...
Jel vidiš u konzoli browsera neku grešku?
[ patak_daca @ 13.05.2015. 14:20 ] @
Script je u Razoru..

nema greške u consoli..

baš sam zapeo...

[ dusans @ 13.05.2015. 14:21 ] @
Ovako bi moralo da radi (u funkciji za novi red):

Code:

$newRow.find('.serbroj').autocomplete({
            minLength: 2,
            source: '@Url.Action("TraziRobu")'
          });
[ patak_daca @ 13.05.2015. 14:35 ] @
probao sam da dodam...ali neće..
kao da ga nevidi..

ako bi postavio da je autocomplete "live" ?
[ patak_daca @ 13.05.2015. 15:32 ] @
neki predlog ....savet...
[ dusans @ 13.05.2015. 16:24 ] @
Milsim da nema ni smisla da pokušavaš preko bilo kakve "live" varijante
kada ni na "direkt" neće da proradi.

Prvo što bih sledeće tražio jeste neki problem u napravljenoj kopiji reda - otvori 4 očiju
lako može da bude da tu nešto ne valja, možda struktura, možda atributi,
možda "name" duplikat inputa, ...

Na kraju, udari hard-code najprostije generisanje inputa pa vidi da li na njega hoće da zakači.
Eksperimentiši - kreneš od najprostijeg ka složenijim slučajevima (svaki slučaj te košta par desetina sekundi rada),
i tim pristupom ćeš da sigurno da dođeš do momenta kad nešto prestaje da radi - i kazaće ti se šta je problem.
[ patak_daca @ 13.05.2015. 16:27 ] @
važi...

hvala puno!!
[ patak_daca @ 13.05.2015. 16:58 ] @
ako nekog muči isti problem...evo rešenja..

morao sam da novi red dodam ovako....


Code:
$("#grupa_kontrola_za_verifikaciju").append("<tr><td><input  type='text' class ='serbroj'  value='' style='width:200px;'/></td><td> <input type='text' class='roba' name='roba'></td> <td> <input type='text' class='id_robe' name='id_robe'> </td>  <td> <input type='submit' name='DeleteBoxRow' value='Obriši'  class='DeleteBoxRow' /></td></tr> ");



možda nije neko rešenje ali radi...

Hvala Dušane na pomoći!!

Pozdrav!