Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dva povezana listboxa

[es] :: Visual Basic 6 :: Dva povezana listboxa

[ Pregleda: 2095 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bole89

Član broj: 86189
Poruke: 38
*.teol.net.



Profil

icon Dva povezana listboxa14.08.2006. u 21:11 - pre 215 meseci
Trenutno radim ASP stranicu za oglase i naisao sam na mali problem i molim vas za pomoc...

Treba mi kada izaberem auta u jednom listbox-u da mi se u drugom pojave proizvodjaci auta, a kada izaberem recimo foto aprati da mi se pojave proizvodjaci foto aparata.

Imam neke ideje kako da to radim ali jos nisam nista uspio.

Ako neko od vas ima neki link na kojem mogu naci pomoc ili gotovu skriptu u kojoj postoji rjesenje ovog problema neka mi pomogne.

Odgovorite na ovom forumu ili na e-mail [email protected]

hvala
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Dva povezana listboxa14.08.2006. u 23:54 - pre 215 meseci
to bi morao da radis preko ajaxa ili samo preko js-a, da ti se ne bi reloadovala stranica svaki put kada izaberes nesto u prvoj listi, mozda ti je najlakse da iz asp-a generises neki javascript... ja bih tako radio...
 
Odgovor na temu

UnderDog

Član broj: 87537
Poruke: 20
*.dialup.neobee.net.



Profil

icon Re: Dva povezana listboxa15.08.2006. u 12:19 - pre 215 meseci
Pošto sam više nego noob, ovo shvatite više kao pitanje nego pokušaj da se dođe do rešenja.

Da li bi Change procedurom prvog listbox-a bilo moguće odrediti koji će se listbox pojaviti? Dakle, nekoliko listbox-a sa spiskovima proizvođača (u jednom automobili, u drugom foto-aparati...) bili bi na istom mestu, istih dimenzija, ali bi u jednom momentu samo jednom listbox-u svojstvo Visible bilo True.

Izvinjavam se ako ovo deluje smešno, jer nije baš elegantno rešenje, ali me zanima vaše mišljenje. Ne znam ništa o ASP, ali učim VB, tako da i to uzmete u obzir.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Dva povezana listboxa15.08.2006. u 14:35 - pre 215 meseci
Mozes tako, sa skrivanjem ListBox-ova, mozes da popunis promenljive i ucitavas ih u drugi listbox pri promeni prvog, ili mozes preko ajax-a. Verovatno ti je najjednostavnije da uradis prvi nacin s' obzirom da si pocetnik. Medjutim sve je to client side, nema neke veze sa asp-om (mada mozes koristiti VBScript za to).
 
Odgovor na temu

UnderDog

Član broj: 87537
Poruke: 20
*.dialup.neobee.net.



Profil

icon Re: Dva povezana listboxa15.08.2006. u 15:38 - pre 215 meseci
Kako da popuniš promenljive? Promenljive tipa niz? Pa da članovi niza budu opcije listbox-a, a sama promenljiva da čini svojstvo List?
Pa i to je jednostavno, ima manje posla nego da praviš gomilu listbox-ova. A taj ajax je far beyond me.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Dva povezana listboxa15.08.2006. u 16:45 - pre 215 meseci
pa is asp-a generises recimo ovakav js:
Code:

list1[0] = "item 1";
list1[1] = "item 2";
list1[2] = "item 3";
list1[3] = "item 4";

list2[0] = "item 1";
list2[1] = "item 2";
list2[2] = "item 3";
list2[3] = "item 4";

recimo data.js a u tvojoj strani pozoves scriptu:
Code:

<!-- vazno je da data.js pozoves posle lists.js -->
<script type="text/javascript" src="lists.js"></script>
<script type="text/javascript" src="data.js"></script>

a lists.js ti je skripta koja menja sadrzaj jednog listboxa u zavisnosti od drugog, recimo:
Code:

var list1 = new Array();
var list2 = new Array();

function changeList()
{
   l1 = document.getElementById("id_prve_liste");

  switch (l1.value)
  {
      case "listbox1":
          setList(item1);
          break;

      case "listbox2":
          setList(item2);
          break;

     // i tako dalje...
  }
}

function setList(lst)
{
     l2 = document.getElementById("id_druge_liste");
     
     var htm = "";
     
     for (i = 0; i < lst.length; i++)
     {
          htm += "<option value=\"" + lst[i] + "\">" + lst[i] + "</option>";
     }
     
     l2.innerHTML = htm;
}

window.onload = document.getElementById("id_prve_liste").onchange = changeList();

to bi trebalo da radi sa ovakvim listama:
Code:

<select name="lista1" id="id_prve_liste" size="8">
  <option value="listbox1">lista br 1</option>
  <option value="listbox2">lista br 2</option>
</select>

<select name="lista2" id="id_druge_liste" size="8"></select>


ovo bi trebalo da radi mada nisam probao...




@Shadowed: jel mozes da premestis ovu temu u javascript forum? nije joj mesto ovde...
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Dva povezana listboxa15.08.2006. u 16:49 - pre 215 meseci
Mogu, ali ne znam da li hoce da koristi JS ili VBS za client-side...
 
Odgovor na temu

Bole89

Član broj: 86189
Poruke: 38
*.teol.net.



Profil

icon Re: Dva povezana listboxa15.08.2006. u 18:30 - pre 215 meseci
Ne poznajem bas dobro JS ali uspio sam da povezem dva listbox-a ako tu vec unesem sve podatke ali meni sada treba da sadrzaje ta dva listbox-a preuzima iz Access-ove baze podataka... Znam uraditi da mi preuzme sadrzaj prvog listbox-a ali nikako ne uspjevam sa drugim...

Nije mi bitno sta ce koristiti, bitno mi je samo da radi.


 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Dva povezana listboxa16.08.2006. u 01:00 - pre 215 meseci
pa daj kod (u asp) koji imash, a sto se tice client-side skriptovanja vbs ti prepoznaje samo ie, tako da si osudjen na js :)
 
Odgovor na temu

Bole89

Član broj: 86189
Poruke: 38
*.teol.net.



Profil

icon Re: Dva povezana listboxa16.08.2006. u 14:58 - pre 215 meseci
Imao sam gotovu skriptu pa sam samo vrsio male promjene...

Ovaj dio je za auta.

Ovo je kod kojim pozivam proizvodjace iz baze:

Code:

<%

' get leaf categories from db
mySQL="SELECT idCategory, categoryDesc, idParentCategory FROM categories WHERE idCategory>1 and idParentCategory=1"  
call getFromDatabase(mySQL, rstemp2, "advancedSearchForm")    

if rstemp2.eof then 
  response.redirect "comersus_supportError.asp?error="& Server.Urlencode("No defined categories") 
end if 
%>
        <select name="idcategory2">
          <option value='0'><%=getMsg(94,"All")%></option>
          <%
do while not rstemp2.eof

 mySQL="SELECT A.idCategory FROM categories A, categories B WHERE A.idCategory=a.idparentCategory and A.idCategory ="& rstemp2("idCategory")
        
 call getFromDatabase(mySQL, rstemp, "advancedSearchForm")    

 if rstemp.eof then%>
          <option value='<%=rstemp2("idCategory")%>'><%=rstemp2("categoryDesc")%></option>
          <%end if
 rstemp2.movenext
loop
%>
        </select>


A ovim pozivam model:

Code:

<%
mySQL="SELECT idCategory, categoryDesc, idParentCategory FROM categories WHERE idCategory>1 and idParentCategory=63"  

call getFromDatabase(mySQL, rstemp2, "advancedSearchForm")    

if rstemp2.eof then 
  response.redirect "comersus_supportError.asp?error="& Server.Urlencode("No defined categories") 
end if 
%>
        <select name="idCategory" >
          <option value='0'><%=getMsg(94,"All")%></option>
          <%
do while not rstemp2.eof

 mySQL="SELECT A.idCategory FROM categories A, categories B WHERE A.idCategory=B.idParentCategory and A.idCategory ="& rstemp2("idCategory")
        
 call getFromDatabase(mySQL, rstemp, "advancedSearchForm")    

 if rstemp.eof then%>
          <option value='<%=rstemp2("idCategory")%>'><%=rstemp2("categoryDesc")%></option>
          <%end if
 rstemp2.movenext
loop
%>
        </select>


Odje gdje pozivam model ja sam dodao da mi je idParentCategory = 63 i u tom slucaju mi izbacuje samo modele audija jer mi je tako u bazi, a taj idParenCategory je ustvari jednak option value od proizvodjaca.



Kao sto sam vec rekao uspio sam da povezem dva listboxa ali da ne preuzima podatke iz baze...

To bi izgledalo ovako:

Ovo bi bio prvi listbox:

Code:

<select name="proizvodjac" id="proizvodjac" onchange="set_model()">
        <option>Izaberi</option>

      </select>


a ovo drugi:

Code:

<select name="model" id="model">
        <option>Izaberi</option>
      </select></td>


A ovo je JS

Code:

<script type="text/javascript">
var proizvodjacs = new Array ();
proizvodjacs[79]='Acura';
proizvodjacs[103]='Aixam';
proizvodjacs[4]='Alfa Romeo';
proizvodjacs[5]='Alpina';
proizvodjacs[80]='ASIA MOTORS';
proizvodjacs[6]='Aston Martin';
proizvodjacs[7]='Audi';
// i dalje

var models = new Array ();
models[79] = new Array();
models[79][1373] = 'Izaberi' ;
models[79][1] = 'MDX' ;
models[79][2] = 'NSX' ;
models[79][3] = 'RL' ;
models[79][4] = 'RSX' ;
models[79][6] = 'TL' ;
models[79][5] = 'TSX' ;
models[103] = new Array();
models[103][1374] = 'Izaberi' ;
models[103][1349] = '400' ;
models[103][1350] = '500' ;
models[103][1351] = 'A.' ;
models[103][1352] = 'Mac' ;
models[103][1353] = 'Mega' ;
// i dalje

function set_model() { 
  var select_proizvodjac = document.frmPosalji.proizvodjac;
  var select_model = document.frmPosalji.model;
  var selected_model = select_proizvodjac.value;
  if(!selected_model) {
    select_model.options.length=0;
    select_model.options[select_model.options.length] = new Option('Izaberi proizvodjaca');
    return;
  }
  select_model.options.length=0;
  ext_models = models[selected_model];
  for(key in ext_models) {
    select_model.options[select_model.options.length] = new Option(ext_models[key], key);
  }
}

function set_proizvodjacs() {
  var select_proizvodjac = document.frmPosalji.proizvodjac;
  for(key in proizvodjacs) {
    select_proizvodjac.options[select_proizvodjac.length] = new Option(proizvodjacs[key], key);
  }
}

window.onload = function() { 
set_proizvodjacs();
}
</script>


Meni bi trebalo da poziva iz baze pa ako ima neke ideje kako neka mi pomogne.
 
Odgovor na temu

[es] :: Visual Basic 6 :: Dva povezana listboxa

[ Pregleda: 2095 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.