Avatar billede torbenmelander Nybegynder
05. december 2001 - 21:59 Der er 25 kommentarer og
1 løsning

Ændre linies farve ved klik på radio-button

For nogen tid siden fik jeg hjælp af nikolajdu og nute til dette spørgsmål:

http://www.eksperten.dk/spm/134139

Nu står jeg i den situation at jeg skal lave nøjagtig dette samme igen .. men bare med radiobuttons...

Det vil sige at man kun vælge en linie af gangen .. så alle andre linier skal vel afmarkeres når man klikker på en radiobutton. Og hvordan håndtere man lige det der med at felternes id og navn helst ikke må være det samme .. men at man kun må kunne vælge en af knappere ...

Håber I forstår ;-)
Avatar billede nute Nybegynder
05. december 2001 - 22:05 #1
\"Det vil sige at man kun vælge en linie af gangen .. så alle andre linier skal vel afmarkeres når man klikker på en radiobutton\"...den forstår jeg ikke. hva mener du egentlig ? har du noe eksempel vi kan kikke på (helst en link) så vi har noe å starte på ?
Avatar billede torbenmelander Nybegynder
05. december 2001 - 22:19 #2
Øhm, nej jeg har ikke noget link andet end http://www.melanders.dk/ny.html som der er henvist til i det andet spørgsmål ...

Det jeg gerne vil have er at den øverste checkboks fjernes (den til at markere alle) ..

De andre to checkboks skal laves om til radiobuttons ... så de hænger sammen sådan som radiobuttons nu engang gør ...

Når der klikkes på en radiobutton skal den linie som den står på ændre farve .. og når man klikker på en anden skal farven ændres tilbage igen og der skal ændres farve på den nye linie ..

Håber du forstår, ellers sig til :-)
Avatar billede torbenmelander Nybegynder
05. december 2001 - 22:29 #3
Er du med ???
Avatar billede nute Nybegynder
05. december 2001 - 22:31 #4
jeg forstår :)

*skriver*
Avatar billede torbenmelander Nybegynder
05. december 2001 - 22:33 #5
Lyder godt ;-)
Avatar billede nute Nybegynder
05. december 2001 - 22:56 #6
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
    ns  = (document.layers) ? true : false;
    ns6 = (document.getElementById) ? true : false;
    ie  = (document.all) ? true : false;

  function colorize( elem ){
    for( i=0; i < document.frm.rad.length; i++ ){
          if( document.frm.rad[i].checked && elem.name==document.frm.rad[i].name ) {
              col = \"#E4E4E4\";
            } else {
              col = \"#ffffff\";
            }
          if( ie ){
                document.all[\'rad\' + i ].style.backgroundColor=col;
                document.all[\"divRad\" + i ].style.backgroundColor=col;
            } else if( ns ){
              document.layers[\'divRad\' + i ].document.bgColor = col;
            } else if( ns6 ){
              document.getElementById(\"rad\" + i ).style.backgroundColor = col;
                document.getElementById(\"divRad\" + i ).style.backgroundColor=col;
            }
        }
    }
  //-->
  </SCRIPT>
</head>

<body>
<form name=\"frm\">
<table width=\"100\">
  <tr>
      <td id=\"rad0\" width=\"100%\">
          <div name=\"divRad0\" id=\"divRad0\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\" value=\"\"><br>
            </div>
        </td>
    </tr>
    <tr>
      <td id=\"rad1\" width=\"100%\">
          <div name=\"divRad1\" id=\"divRad1\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\"><br>
            </div>
        </td>
    </tr>
    <tr>
      <td id=\"rad2\" width=\"100%\">
          <div name=\"divRad2\" id=\"divRad2\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\"><br>
            </div>
        </td>
    </tr>
    <tr>
      <td id=\"rad3\" width=\"100%\">
          <div name=\"divRad3\" id=\"divRad3\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\"><br>
            </div>
        </td>
    </tr>
</table>
</form>

</body>
</html>
Avatar billede torbenmelander Nybegynder
05. december 2001 - 23:01 #7
Du har lavet det med nogle divs men jeg laver det med nogle tabelrækker ... Hvordan er det nu med browserne .. det er kun ie der understøtter at man ændre farverne på disse, ik ???

Husk lige at svare, så du kan få nogle point ;-)
Avatar billede torbenmelander Nybegynder
05. december 2001 - 23:04 #8
nute - jeg kigger lige nærmere på det i morgen .. men tak for hjælpen indtil nu :-)
Avatar billede nute Nybegynder
05. december 2001 - 23:06 #9
dette er nøyaktig samme type script som det andre vi skrev til deg...vi benyttet også div\'s i dét...

man kan ikke i NS4.x endre bakgrunnsfargen på tabeller dynamisk, så den eneste løsningen er å legge noen div\'s som man kan endre fargen på..
Avatar billede torbenmelander Nybegynder
06. december 2001 - 10:31 #10
nute - det er ikke altid at nummerne jeg kan indsætte er lig med 1,2,3,4,5 .. det kunne være 1,3,4,7,8 og så får jeg den fejl at objektet ikke er fundet.. Kan du lave det lidt om så funktionen er ligeglad med det ???
Avatar billede nute Nybegynder
06. december 2001 - 10:44 #11
jeg regner med at du skriver tabellen ut fra en database eller lignende ? hvis du gjør det, så skal du bare skrive id ut til <td> of <div>...er jeg galt  på den ?
Avatar billede torbenmelander Nybegynder
06. december 2001 - 10:51 #12
lidt, for jeg sletter nogle gange posterne og så mangler der jo et tal i rækken ...
Avatar billede torbenmelander Nybegynder
06. december 2001 - 10:54 #13
og så opstår der en fejl i javascriptet ..
Avatar billede torbenmelander Nybegynder
06. december 2001 - 10:56 #14
forstår du problemet ??
Avatar billede nute Nybegynder
06. december 2001 - 10:58 #15
hmmm...jeg tror ikke jeg er galt på den ;-)

hver post har en id ?! *denne* id legger du på din <td> og <div>. jeg husker ikke hvilket språk du skriver i...om det er ASP eller PHP, men jeg vil gjerne eksemplifisere i ASP

<%
while NOT rs.EOF
  response.write \"<td id=\"\"rad\" & rs(\"id\") & \"\"\">\"
  response.write \"<div id=\"\"divRad\" & rs(\"id\") & \"\"\" name=\"\"divRad\" & rs(\"id\") & \"\"\">\"
  ...
  rs.MoveNext
wend

%>

u c ?
Avatar billede torbenmelander Nybegynder
06. december 2001 - 11:00 #16
Ja, det er rigtig .. jeg bruger ASP og gør som du gør ovenfor .. men når jeg udskriver værdien af rs(\"id\") kan det f.eks. være den første er 2 og den næste er 5 så opstår problemet
Avatar billede torbenmelander Nybegynder
06. december 2001 - 11:02 #17
F.eks.:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
    ns  = (document.layers) ? true : false;
    ns6 = (document.getElementById) ? true : false;
    ie  = (document.all) ? true : false;

  function colorize( elem ){
    for( i=0; i < document.frm.rad.length; i++ ){
          if( document.frm.rad[i].checked && elem.name==document.frm.rad[i].name ) {
              col = \"#E4E4E4\";
            } else {
              col = \"#ffffff\";
            }
          if( ie ){
                document.all[\'rad\' + i ].style.backgroundColor=col;
                document.all[\"divRad\" + i ].style.backgroundColor=col;
            } else if( ns ){
              document.layers[\'divRad\' + i ].document.bgColor = col;
            } else if( ns6 ){
              document.getElementById(\"rad\" + i ).style.backgroundColor = col;
                document.getElementById(\"divRad\" + i ).style.backgroundColor=col;
            }
        }
    }
  //-->
  </SCRIPT>
</head>

<body>
<form name=\"frm\">
<table width=\"100\">
    <tr>
      <td id=\"rad1\" width=\"100%\">
          <div name=\"divRad1\" id=\"divRad1\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\"><br>
            </div>
        </td>
    </tr>
    <tr>
      <td id=\"rad3\" width=\"100%\">
          <div name=\"divRad3\" id=\"divRad3\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\"><br>
            </div>
        </td>
    </tr>
</table>
</form>

</body>
</html>
Avatar billede nute Nybegynder
06. december 2001 - 11:06 #18
ahhhhh !!!!

du har rett...jeg er ikke helt våken enda...unnskyld min stupide morgenhjerne...

jeg tenker litt på det...
Avatar billede torbenmelander Nybegynder
06. december 2001 - 11:07 #19
*LOL*
Avatar billede nute Nybegynder
06. december 2001 - 11:08 #20
hmmm....kan du legge id\'en som value for hver radiobutton ?? så blir det rimelig enkelt....
Avatar billede torbenmelander Nybegynder
06. december 2001 - 13:31 #21
jo ... det ville være fint ... Kan du lave javascriptet til det ???
Avatar billede nute Nybegynder
06. december 2001 - 13:36 #22
yup...5 minutter....
Avatar billede torbenmelander Nybegynder
06. december 2001 - 13:37 #23
tak :-)
Avatar billede nute Nybegynder
06. december 2001 - 13:43 #24
oki...så er du nødt til å skrive ut id til din <td> og din <div> (som jeg har vist ovenfor) og så legger du id ned i value attributten på din radiobutton...

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
    ns  = (document.layers) ? true : false;
    ns6 = (document.getElementById) ? true : false;
    ie  = (document.all) ? true : false;

  function colorize( elem ){
    for( i=0; i < document.frm.rad.length; i++ ){
          id = document.frm.rad[i].value;
      if( document.frm.rad[i].checked && elem.name==document.frm.rad[i].name ) {
          col = \"#E4E4E4\";
      } else {
          col = \"#ffffff\";
      }
      if( ie ){
          document.all[\'rad\' + id ].style.backgroundColor=col;
        document.all[\"divRad\" + id ].style.backgroundColor=col;
      } else if( ns ){
          document.layers[\'divRad\' + id ].document.bgColor = col;
      } else if( ns6 ){
          document.getElementById(\"rad\" + id ).style.backgroundColor = col;
        document.getElementById(\"divRad\" + id ).style.backgroundColor=col;
      }
    }
  }
  //-->
  </SCRIPT>
</head>

<body>
<form name=\"frm\">
<table width=\"100\">
    <tr>
      <td id=\"rad1\" width=\"100%\">
          <div name=\"divRad1\" id=\"divRad1\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\" value=\"1\"><br>
            </div>
        </td>
    </tr>
    <tr>
      <td id=\"rad3\" width=\"100%\">
          <div name=\"divRad3\" id=\"divRad3\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\" value=\"3\"><br>
            </div>
        </td>
    </tr>
    <tr>
      <td id=\"rad30\" width=\"100%\">
          <div name=\"divRad30\" id=\"divRad30\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\" value=\"30\"><br>
            </div>
        </td>
    </tr>
    <tr>
      <td id=\"rad12\" width=\"100%\">
          <div name=\"divRad12\" id=\"divRad12\" style=\"position:relative;top:0px;left:0px;clip:rect(0,100,20,0);background-color:#ffffff;layer-background-color:#ffffff;\">
            <input type=\"radio\" name=\"rad\" onclick=\"colorize( this );\" value=\"12\"><br>
            </div>
        </td>
    </tr>
</table>
</form>

</body>
</html> 
Avatar billede torbenmelander Nybegynder
06. december 2001 - 13:49 #25
Kigger lige på det ... vender tilbage senere .. Du får dine point nu :)
Avatar billede nute Nybegynder
06. december 2001 - 13:51 #26
jeg håper du slipper  å vende tilbake med annet enn \"takk\" ;-)

takker for points :)
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