Gdje je greska - Kontrolisanje listboxa

Gdje je greska - Kontrolisanje listboxa

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

Naime naisao sam na ovu stranicu dok sam trazio nacin na dodavanje i uklanjanje opcija kod listboxa

[Link mogu videti samo ulogovani korisnici]

I dok u komentarima kazu da radi meni nece pa nece, da li neko moze da nadje gresku neku ili da li zna bolji nacin ?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Umjesto linije
objListBox.add(newOpt);
stavi
try{objListBox.add(newOpt, null);}catch(e){objListBox.add(newOpt);}

i umjesto linije
objListBox.remove(intIndex);
stavi
try{objListBox.remove(intIndex, null);}catch(e){objListBox.remove(intIndex);}



offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

Sada dodavanje radi, ali brisanje ne :-\

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Ne radi ti zato sto dodas vise OPTION elemenata sa istim ID-em, inace mnogo je glup nacin

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

I ja sam juce imao slican problem, s' tim sto opcije za selectbox izvlacim iz baze, pa sam morao preko AJAXa da uradim to... evo koda koji radi:

function ClearSelect(id2clear,id2show) {    endSelect = document.getElementById(id2clear);    while (endSelect.options.length > 0) {        endSelect.options[0] = null;    }    PopulateSelect(id2clear,id2show); } function PopulateSelect(id2pop,id2show) {    var xmlHttp;    try {         // Firefox, Opera 8.0+, Safari         xmlHttp=new XMLHttpRequest();      }    catch (e) {         // Internet Explorer         try {           xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");        }         catch (e) {           try {                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");             }           catch (e) {                alert("Your browser does not support AJAX!");                return false;             }        }      }      xmlHttp.onreadystatechange=function() {       if(xmlHttp.readyState==4) {            endSelect = document.getElementById(id2pop);            var xmlDoc = xmlHttp.responseXML.documentElement.getElementsByTagName("object2show");            for (i=0;i<xmlDoc.length;i++) {                 var sID = xmlDoc[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;                 var sNM = xmlDoc[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;                 endSelect.options[i] = new Option(sNM, sID);             }         }    }    var url2get = "ajax-upit.php?id=" + id2show;    xmlHttp.open("GET",url2get,true);    xmlHttp.send(null); }

a XML koji mi vraca ajax-upit.php izgleda ovako:

<?xml version='1.0' encoding='ISO-8859-1'?> <objects>    <object2show>       <id>0</id>       <name>Default opcija</name>    </object2show>    <object2show>       <id>1</id>       <name>Prva opcija iz baze</name>    </object2show>    <object2show>       <id>2</id>       <name>Druga opcija iz baze</name>    </object2show> </objects>

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

igor86 ::Ne radi ti zato sto dodas vise OPTION elemenata sa istim ID-em, inace mnogo je glup nacin

Ne radi nikako znaci bez dupliranja id-a, moze li barem uputa ka pravom nacinu posto sam duduk kad se radi o javascriptu Confused

@Rastafarii, ne vidim kako to meni pomaze Smile ??

Cilj ovoga je da klijentu omogucim dodavanje necega, tj. ne vadjenje iz baze nego po njegovom izboru

Dopuna: 10 Feb 2009 15:17

Malo sam se vise potrudio i nisam nasao nacin ali sam ga sam osmislio Smile

        <script language="javascript">       function Add()       {       var dodaj = prompt("Unesite sta zelite da dodate", "")         dodajOpciju(dodaj,dodaj);       }              function dodajOpciju(Text,Value)         {              var opt = document.createElement("option");         document.getElementById("Select1").options.add(opt);         opt.text = Text;         opt.value = Value;                   }         function ukloniOpciju(selectbox)         {         var i;         for(i=selectbox.options.length-1;i>=0;i--)         {         if(selectbox.options[i].selected)         selectbox.remove(i);         }         }         </script>

Ko je trenutno na forumu
 

Ukupno su 1256 korisnika na forumu :: 109 registrovanih, 9 sakrivenih i 1138 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 9k38, ajo baba, Alexa77, ALFASPORTIVO, AndrejPetar, Betty25, bokisha253, Boris90, boxbole, brufen, Centauro, Cian, CraniumWhite, darkdruid72, darkkran, DavidA, DeerHunter, Dimitrise93, Dioniss, djukapfc, Dolinc, Dovla 1980, Dragon Order, Electron, feanor, Folkstar, FOX, Frunze, gaga23, Gogi_avio, goxin, havoc995, HrcAk47, hyla, ivan979, jalos, joca83, Jovan.D, karevski, Kobrim, Kruger, Krusarac, Kubovac, Kvazar, LastTsar, Leonov, Lošmi, Lucije Kvint, macak44, Macalone, majstro, mango, mat, mercedesamg, Michellefromrezistance, miki kv, Milos ZA, Milos1389, mir, mir juzni, mist-mist, MK10, momcilob55, Motocar, Mskok, nenad81, Njubara, Nobunaga, nobutado, Novakomp, operniki, opt1, Orc, Oscar2, Parker, pavle_pzs, Pero, Petarvu, Pilence, Povratak1912, PrincipL, proka89, Radogost, Regrut Boskica, Rothmans, royst33, S2M, sasa87, sedan, sekretar, shlauf, Singidunumac, sluga, Su 57, superwhy, Tas011, Tihi86, tomigun, trajkoni018, vathra, vidra1, vladulns, Weah88, wolf431, x9, XBMC, zoran77, Zorge, šumar bk2