javascript mogelijkheid vraag

Pagina: 1
Acties:

  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
Hallo, allereerst ff ik heb gezocht op google met trefwoorden naar mijn vraag maar de zoekresultaten zijn te algemeen, ik heb een doelgericht antwoord nodig, echter vind een moderator dit niet kunnen, feel free to close.

Oke hier is mijn vraag:

ik heb een selectbox met een hoop entry's erin

(ter verduidelijking een screenshot van een jaar terug ofzo maar geeft nog wel aan hoe het werkt http://m4rtin.dnsalias.net/pic/zooi/allprintadminpreview.jpg)

ik wil dan een input text erbij zetten, en deze als zoekbalk laten fungeren, door middel van een javascript functie die die selectbox doorzoekt, en dan bijv:

of de HITS op SELECTED te zetten
of heel de selectbox leegmaken en dan vullen met de HITS
of een beter idee?

is zoiets mogelijk met javascript?

  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Ja, gewoon met een lus door je <options> heen gaan en vergelijken. En als er een match is kun je de <option> selecteren.

En die lus kun je activeren met een onChange event op je textbox.

[ Voor 28% gewijzigd door André op 25-06-2003 17:56 ]


  • Johnny
  • Registratie: December 2001
  • Laatst online: 21:11

Johnny

ondergewaardeerde internetguru

Let wel op dat IE je een value="" moet defineren, Mozilla pakt gewoon de tekst tussen de <option> tags als de value="" leeg is.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
hmm oke tot zover goed, nu moet ik eerst ff wat zoeken op google over bepaalde functie's van javascript denk ik

het volgende moet ik aanpakken in mn functie?

[functie]

while <- de lus om de selectbox door te lopen

functie om een <option> uit te lezen ( is dus niet de .value want das is een cijfer )

functie om de string te vergelijken

daarna weet ik zelf wel weer hoe ik de selectbox leeghaal of iets laat selecteren

[/functie]

  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
ik weet dat script request e.d. uit den boze zijn, maar kan iemand me meer kicken in een goede richting?

ik google al de hele avond naar voorbeelden maar ik ben best wel een javascript noob!

tot zover heb ik het nu:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function search_form(form_name,form_field,searchbox) {

//document.form_name.form_field.value

var rijaantal = document.debiteur.id.length;
var begin = 1;

document.debiteur.id.length=0;

while (begin < rijaantal) {


begin++;

}



eigenlijk alleen maar de lus :/

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

als je dat zo gaat doen, dan slaat hij de while loop al over, want begin is nu altijd groter dan rijaantal, want begin= 1 en rijaantal=0, ik denk dat je rijaantal maar dezelfde waarde moet laten als hij is en niet op 0 zetten. Kan wezen dat het niet klopt wat ik zeg, want ben nniet goed in javascript (werk er nooit mee).

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Ik heb een aantal tips voor je:

Zoek eens op regular expressions in JavaScript.
voorbeeldje:
JavaScript:
1
2
3
4
5
alert (
   'Dit is een string'.match ( /^dit is/i )
   ? 'match'
   : 'geen match'
);

Stel een eens een regex dynamisch op:
JavaScript:
1
2
3
4
5
6
7
8
var str = 'dit is';
var searchRe = new RegExp ( str, 'i' );
var subject = "Dit is een string";
alert ( 
   subject.match ( searchRe )
   ? 'match'
   : 'geen match'
);


Zoek eens op DOM.
voorbeeldje:
JavaScript:
1
2
3
4
5
6
7
var selectbox = document.forms['form'].elements['the_select_box'];

for ( var i = 0; i < selectbox.childNodes.length; i ++ ) {
   if ( selectbox.childNodes.item(i).tagName &&
        selectbox.childNodes.item(i).tagName.toLowerCase () == 'option' )
      alert ( selectbox.childNodes.item(i).firstChild.nodeValue );
}


Genoeg searchstuff, zou ik zeggen ;) Probeer je probleem op te delen in deelproblemen, en los die deelproblemen op, i.p.v. meteen de jackpot te willen :)

edit:
nog major domme fout weggewerkt. for ( .. in .. ) werkt natuurlijk niet op een collection :z

edit:
En nog 2...
RegExp.test ( String ) en String.match ( RegExp ) |:( waarom haal ik die altijd door elkaar?
tagName is altijd uppercase :z

[ Voor 18% gewijzigd door drm op 26-06-2003 00:13 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • M4RTiN
  • Registratie: Augustus 2000
  • Laatst online: 24-11-2024
tnx, zo kan ik denk ik wel een stuk verder komen, vooral ook wel met die regexp

  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Omdat ik even tijd had:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
<head>
  <style>
  </style>
  <script language="javascript">
    velden = ["aap","apen","apenootjes","boer","boerderij","boeren", "tweakers", "thee", "paarden"];
   
    function SchrijfSelect()
    {
      tekst = "<select size='10' style='width:100px;'>";
      sel = Test.value;

      for (i = 0; i < velden.length; i++)
      {
        if (sel != '') 
        {
          if (velden[i].substr(0, sel.length) == sel)
          {
            tekst += "<option>" + velden[i] + "</option>";
          }
        }
        else
        {
          tekst += "<option>" + velden[i] + "</option>";
        }
      }
      tekst += "</select>";

      document.getElementById("SelectDiv").innerHTML = tekst;
    }
  </script>
</head>
<body onload="SchrijfSelect()">
  <input type="text" name="Test" value="" onkeyup="SchrijfSelect()">
  <br>
  <div id="SelectDiv"></div>
</body>
</html>

Het was dan wel geen scriptrequest maar het leek me wel handig om iets in elkaar te zetten waar mensen die hier op zoeken ook wat aan hadden. :)

Hier moet je het wel mee kunnen doen, icm de hints van drm.

[ Voor 31% gewijzigd door André op 25-06-2003 23:49 ]


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

innerHTML zou verboden moeten worden...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Waarom? Het is makkelijk om te gebruiken. Maar idd, ik had de selectbox ook anders kunnen vullen (DOM).

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

André:
Waarom? Het is makkelijk om te gebruiken. Maar idd, ik had de selectbox ook anders kunnen vullen (DOM).
Omdat het wars is van alle controle op je documentstructuur. Je kan de debielste dingen met je document uithalen en de meest ranzige rotzooi overal ingooien zonder dat er ooit een haan naar kraait ;)

En het is ook nog 's verschrikkelijk inefficient. Je schrijft nu elke keer de complete select weg, terwijl dat helemaal niet nodig is. Het enige wat je hoeft te doen is 1 vlaggetje aanpassen, namelijk of een option selected moet zijn of niet.

edit:
en nog iets vervelends: onkeyup lijkt niet te werken met een backspace :? en in mozilla werkt een onkeyup helemaal niet 8)7

[ Voor 11% gewijzigd door drm op 26-06-2003 00:17 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1