Avatar billede delasson2 Nybegynder
06. juli 2004 - 20:33 Der er 26 kommentarer og
1 løsning

Tilføjelse

Kan det lade sig gøre at få dette her script til at sætte TEKSTEN i option i alfebetisk rækkefølge?


<form><select name="D1" size="1" onChange="loadPage(this.form.elements[0])">
<option selected value="link0.html">----------Tekst----------</option>
<option value="link1.html">Tekst</option>
<option value="link2.html">Tekst</option>
<option value="link3.html">Tekst</option>
<option value="link4.html">Tekst</option>
<option value="link5.html">Tekst</option>
<option value="link6.html">Tekst</option>
</select>
<script language="JavaScript">
<!--
function loadPage(list) {
    location.href = list.options[list.selectedIndex].value
}
// -->
</script>
</form>
Avatar billede roenving Novice
06. juli 2004 - 20:39 #1
Er det ikke meget nemmer at gøre før du skriver html-koden ?-)

Enten taster du den vel selv ind, og så er det a piece of cake, eller også kommer dine options fra et database-opslag, og så kan du da sortere dem i opslaget !-)

Forøvrigt er du ude på en lang omvej ...

<form><select name="D1" size="1" onChange="loadPage(this)">

-- eller endda:

<form><select name="D1" size="1" onchange="location.href=this.value;">
Avatar billede delasson2 Nybegynder
06. juli 2004 - 20:41 #2
Jov men nu er det et script som jeg har fundet på nettet, har ikke selv en dyt forstand på det
Avatar billede roenving Novice
06. juli 2004 - 20:54 #3
Omvejen er da direkte tåbelig:

Det, der gøres er:
Jeg er første barn (her endda det eneste !-)

Jeg spørger min mor:

'Kan du ikke finde ud af hvilket af dine børn, der er det første og så bede vedkommende om at fortælle det til mig'

Hvordan har du dine options ?-)

Man kan sagtens ændre rækkefølgen, men det er noget tedious scripting, enten ved at slette alle options og skrive dem igen, eller rette value og text på dem alle efter en sortering ...
Avatar billede delasson2 Nybegynder
06. juli 2004 - 20:57 #4
Det ved du bedre end mig, jeg er ikke startet med at bruge det i nu.
Håbede at der var nogen der kunne hjælpe mig.
Avatar billede roenving Novice
06. juli 2004 - 21:12 #5
Hvordan får du dine options ?-)
Avatar billede delasson2 Nybegynder
06. juli 2004 - 21:19 #6
Jeg skal til at lave en spille side, med online spil på, link til andre sider.

Så det var lidt nemmer hvis det script kunne sætte det hele i alfabetisk rækkefølge, så jeg ikke skulle til at stave mig igennen alfabetet hver gang jeg skal sætte et nyt link ind.
Avatar billede roenving Novice
06. juli 2004 - 21:45 #7
Oki ,-)

Kigger lige på det !-)
Avatar billede delasson2 Nybegynder
06. juli 2004 - 21:47 #8
SÅ siger jeg godt nok mange tak
Avatar billede roenving Novice
06. juli 2004 - 22:01 #9
<script language="javascript" type="text/javascript">
function sMethod(a,b){
  return (a[0]>b[0])?1:(b[0]>a[0])?-1:0;
}
function sortSelect(sel){
  var arr = new Array();
  if(sel.options[0].value!=""&&sel.options[0].text.indexOf("--")!=0)arr[arr.length] = new Array(sel.options[0].text,sel.options[0].value);
  for(i=1;sel.length>i;i++){
    arr[arr.length] = new Array(sel.options[i].text,sel.options[i].value);
  }
  arr.sort(sMethod);
  sel.length = (sel.options[0].value!=""&&sel.options[0].text.indexOf("--")!=0)?0:1;
  for(i=0;arr.length>i;i++){
    sel.options[sel.length] = new Option(arr[i][0],arr[i][1]);
  }
}
</script>
<body onload="sortSelect(document.minForm.minSelect);">
<form id="minForm" name="minForm">
<select name="minSelect" id="minSelect" onchange="">
    <option value="">-- Vælg her --<br>
    <option value="1">Karl Bay<br>
    <option value="2">Anders Bjørn<br>
    <option value="3">Kaj Kvaj<br>
    <option value="4">Søren Banjomus<br>
    <option value="5">Bolette's kaj<br>
</select>

Den er lavet sådan at den overser en start-option, som ikke har nogen value eller som starter med --

Dette gælder altså _kun_ for den første option, men hvis bare een af de to er som angivet overses den, så du kan tillade dig at have en vælg-tekst, som den jeg har ...

Hvis du skal have noget mere hjælp til implementeringen siger du bare til, for den er afhængig af den der onload-ting, som den er her !-)
Avatar billede delasson2 Nybegynder
06. juli 2004 - 22:07 #10
Jeg spørger nok dumt, men hvor skal jeg sætte linket ind
Avatar billede roenving Novice
06. juli 2004 - 22:13 #11
<select name="minSelect" id="minSelect" onchange="location.href=this.value;">
    <option value="">-- Vælg her --<br>
    <option value="link1">Karl Bay<br>
    <option value="link2">Anders Bjørn<br>
    <option value="link3">Kaj Kvaj<br>
    <option value="link4">Søren Banjomus<br>
    <option value="link5">Bolette's kaj<br>
</select>
Avatar billede delasson2 Nybegynder
06. juli 2004 - 22:15 #12
Det er bare super, jeg siger tussinde tak.
Hvordan får du så lige dine point.
Avatar billede roenving Novice
06. juli 2004 - 22:18 #13
Jamen, så lægger jeg lige et svar !-)

Velbekomme '-)
Avatar billede roenving Novice
06. juli 2004 - 22:30 #14
-- og tak for point ;~}
Avatar billede delasson2 Nybegynder
06. juli 2004 - 22:33 #15
Har du selv prøvet det, for det virker ikke, det vil ikke åbne linket.
Avatar billede roenving Novice
06. juli 2004 - 22:51 #16
Jeg var lige ved at give et eksempel, hvor det hele stod i !-)

    <option value="http://roenving.users.whitehat.dk/WD5Opacity.html">Karl Bay<br>

-- der skal være en fuldt gyldig url inklusive http:// ...
Avatar billede delasson2 Nybegynder
06. juli 2004 - 23:00 #17
Jeg har prøvet at sætte hele url inklusiv http://
Men det virker ikke, jeg bruger frontpage 2000
Avatar billede roenving Novice
06. juli 2004 - 23:26 #18
Kan du vise et link til det du har gjort ?-)

-- eller evt. lægge koden her !-)
Avatar billede delasson2 Nybegynder
06. juli 2004 - 23:28 #19
Ups, jeg havde taget det som du havde skrevet aller først, jeg havde ikke sat dette her ind.

<select name="minSelect" id="minSelect" onchange="location.href=this.value;">
    <option value="">-- Vælg her --<br>
    <option value="link1">Karl Bay<br>
    <option value="link2">Anders Bjørn<br>
    <option value="link3">Kaj Kvaj<br>
    <option value="link4">Søren Banjomus<br>
    <option value="link5">Bolette's kaj<br>
</select>

Det må du undskylde.
Avatar billede roenving Novice
06. juli 2004 - 23:38 #20
Så nu funger det ?-)
Avatar billede delasson2 Nybegynder
07. juli 2004 - 19:04 #21
Får du måske dette her roenving
Avatar billede roenving Novice
07. juli 2004 - 19:20 #22
?-)
Avatar billede delasson2 Nybegynder
07. juli 2004 - 19:25 #23
Jeg har lidt problemer med det script som du lavede, hvis jeg sætter det ind på en ren side i frontpage, en hvor der ikke er noget i forvejen, så virker det fint, men når jeg så sætter det over på en side hvor jeg har noget andet noget, så virker det ikke.
Avatar billede roenving Novice
07. juli 2004 - 19:44 #24
Lyder som om det er onload-problemer ...

Har du en menu eller noget andet, som bruger onload til initialisering ?-)

Kig i de andre scripts, du bruger, og led efter en linje, som ser ca. sådan ud:

window.onload = etFunktionsnavn;

Den skal så udkommenteres (// foran !-) og body-tagget skal så skrives sådan:

<body onload="sortSelect(document.minForm.minSelect);etFunktionsnavn()">
Avatar billede delasson2 Nybegynder
07. juli 2004 - 19:52 #25
Jeg ved ikke om du har tid lyst, men jeg har lavet en test side http://www.cool-games.dk/test1.html
Adventure og Action havde jeg i alfabetisk rækkefølge fra starten så det er Arcade som der ikke vil.
Hvis det er noget så er der 60 point til dig hvis hvis du har tid og lyst, og hvis jeg kan give dig ekstra point.
For jeg er en klovn til det der html noget, det skal helst bare virke fra starten, jeg er ikke den store problem løser.
Avatar billede roenving Novice
07. juli 2004 - 20:23 #26
Tjah, du får problemer når du bruger de samme identifikatorer flere gange og når du gentager den samme funktion ...

Og det er strengt forbudt at have flere body-tags, så selvfølgelig får du problemer !-)

Men du skal:

1) Lægge script-blokken oppe i head-sektionen, da den alligevel skal bruges flere gange ...
2) Lave en lille funktion, som kalder sortSelect 3 gange
3) Kalde den onload i det body-tag, du har i forvejen
4) ændre navne og id for dine select-boxe, så det er muligt at kende forskel på dem

1 + 2:
Med lidt af den kode du har det pågældende sted udenom, så du kan indsætte/erstatte korrekt !-)

...
<title>Cool-Games.dk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </title>
<script language="javascript" type="text/javascript">
function sMethod(a,b){
  return (a[0]>b[0])?1:(b[0]>a[0])?-1:0;
}
function sortSelect(sel){
  var arr = new Array();
  if(sel.options[0].value!=""&&sel.options[0].text.indexOf("--")!=0)arr[arr.length] = new Array
  (sel.options[0].text,sel.options[0].value);
  for(i=1;sel.length>i;i++){
    arr[arr.length] = new Array(sel.options[i].text,sel.options[i].value);
  }
  arr.sort(sMethod);
  sel.length = (sel.options[0].value!=""&&sel.options[0].text.indexOf("--")!=0)?0:1;
  for(i=0;arr.length>i;i++){
    sel.options[sel.length] = new Option(arr[i][0],arr[i][1]);
  }
}
function sortAllSels(){
  sortSelect(document.getElementById("adventureSelect"));
  sortSelect(document.getElementById("actionSelect"));
  sortSelect(document.getElementById("arcadeSelect"));
}
intVisning = 1;

var strDay="";
var strMonth="";
...


3:
Det _skal_ erstatte det body-tag, du har i forvejen !-)

</head>

<body link="#000000" vlink="#000000" alink="#000000" onload="sortAllSels();">

<div align="center">


4:
Fjern _alle_ spor af script-koden nede i dokumentet inklusive de bodytags !-)

...
              <div align="center">
                <table border="0" cellpadding="0" cellspacing="0" width="100">
                  <tr>
                    <td>
                      <p align="center"><!--webbot bot="HTMLMarkup" startspan -->
<select name="adventureSelect" id="adventureSelect" onchange="location.href=this.value;">
    <option value="">-------------------- Adventure --------------------<br>
    <option value="http://www.battleon.com/">Adventure Quest<br>
    <option value="http://af.plit.dk/">Adventures Fame<br>
...

...
              <div align="center">
                <table border="0" cellpadding="0" cellspacing="0" width="100">
                  <tr>
                    <td>
                      <p align="center"><!--webbot bot="HTMLMarkup" startspan -->
<select name="actionSelect" id="actionSelect" onchange="location.href=this.value;">
    <option value="">----------------------- Action -----------------------<br>
    <option value="http://www.miniclip.com/ninja.htm">3 Foot Ninja<br>
...

...
              <div align="center">
                <table border="0" cellpadding="0" cellspacing="0" width="100">
                  <tr>
                    <td>
                      <p align="center"><!--webbot bot="HTMLMarkup" startspan -->
<select name="arcadeSelect" id="arcadeSelect" onchange="location.href=this.value;">
    <option value="">---------------------- Arcade ----------------------<br>
    <option value="http://www.cyberiapc.com/flashgames/bubbletrouble.htm">Bubble Trouble<br>
    <option value="http://www.miniclip.com/penguin.htm">Penguin Arcade<br>
...

-- og du har en dum tom option i adventure-selecten, som selvfølgelig skal fjernes !o]

Med hensyn til point er løbet kørt i dette spørgsmål, da du har accepteret, men du kan da kigge lidt i faq'en, så du har check på det til en anden gang !-)

http://expfaq.1go.dk
Avatar billede delasson2 Nybegynder
07. juli 2004 - 20:33 #27
Jeg prøver.
Men igen, tusinde tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester