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

http://timstall.dotnetdevelopersjournal.com/adding.....istbox.htm

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: 3747
  • 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 1251 korisnika na forumu :: 62 registrovanih, 8 sakrivenih i 1181 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: A.R.Chafee.Jr., Acivi, amaterSRB, Andrija357, armor, ArmyBoss, Battlehammer, Bobrock1, bojankrstc, BRATORIII, ccoogg123, comi_pfc, crnitrn, Dannyboy, darcaud, darkangel, Denaya, Dimitrije Paunovic, dragoljub11987, Georgius, Gosha101980, havoc995, hyla, JimmyNapoli, karevski, Kibice, Kubovac, Levi, Lieutenant, Marko Marković, mgolub, Mi lao shu, milenko crazy north, Misirac, Mixelotti, moldway, Ne doznajem se u oružje, nebkv, ObelixSRB, operniki, Oscar, Parker, pein, Rakenica, royst33, savaskytec, Shinobi, slonic_tonic, SR-3m, Srki94, Srle993, suton, Tragač, Tvrtko I, VJ, vlad4, Vlada1389, Vlada78, voja64, VP6919, YugoSlav, 1107