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 1297 korisnika na forumu :: 59 registrovanih, 9 sakrivenih i 1229 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: 357magnum, Ben Roj, Bobrock1, bojcistv, bokisha253, Boris90, brundo65, comi_pfc, CrazyDiablo, crnitrn, deLacy, Denaya, DPera, DragoslavS, gorican, gorval, hatman, ikan, Istman, JimmyNapoli, kalens021, Karla, Kibice, kunktator, kybonacci, Litostroton, Magistar78, MB120mm, mercedesamg, Mercury, mik7, mile23, nebkv, Nemanja.M, nemkea71, nenad81, novator, nuke92, oldtimer, opt1, panzerwaffe, repac, rovac, sasa87, SR-3m, Srle993, Stoilkovic, theNedjeljko, tubular, VJ, vladaa012, vobo, wizzardone, wolf431, wolverined4, Wrangler, xoxxvelja, yrraf, Zerajic