Avatar billede sjh Nybegynder
27. december 2005 - 02:00 Der er 9 kommentarer og
1 løsning

Class lib ting

Kan man ikke lave en Class ting i javascript på samme måde som i fx. php..

noget i den stil..

class MyClassLib {
  var varTest="";
  function MyClassLib() {
  }
  function setTest(strText) {
    this.varTest = strText;
  }
  function getTest() {
    return this.varTest;
  }
}
Avatar billede tjp Mester
27. december 2005 - 02:40 #1
Jo, men der er ikke et decideret 'Class'-keyword, og kunne fx se sådan ud:

function MyClassLib () { // Selve klassedefinitionen
  this.varTest="";
  this.setTest=setTest;
  this.getTest=getTest;

  function setTest(strText) {
    this.varTest = strText;
  }
  function getTest() {
    return this.varTest;
  }
}

var myObj = new MyClassLib();
myObj.setTest("Dette er en prøve");
WScript.Echo(myObj.getTest());

For en tutorial, se evt:
http://www.kevlindev.com/tutorials/javascript/inheritance/
Avatar billede sjh Nybegynder
27. december 2005 - 03:08 #2
Hvordan får jeg så den her til at virke.. her vil det jo gå galt.. onclick="this.Click(this);"


function MyClassLib () {
  this.selectbox = "";
  this.Click=Click;
  this.Build=Build;

  function Click(obj) {
    alert(this.selectbox[obj.id]);
  }

  function Build (){
    this.selectbox = eval(["1a","2b","3c","4d"]);
    var obj = document.getElementById("dropdowndiv");
    obj.innerHTML="";
    for(i=0;i<=this.selectbox.length-1;i++){
      obj.innerHTML += '<div id="'+i+'" onclick="this.Click(this);";>' + this.selectbox[i] + '</div>';
    }
  }
}
Avatar billede tjp Mester
28. december 2005 - 01:55 #3
Ja, der går lidt kludder i 'this'erne, men hvad er egentlig ideen med at lave det OO?
Avatar billede sjh Nybegynder
28. december 2005 - 02:00 #4
Min ide var at lave en selectbox/listbox altså, sådan at men kan lave en 5-10 styks på en side.. uden at man skal hen og lave 5-10 (var selectbox1, selectbox2, selectbox3 osv..)
Avatar billede nyp Nybegynder
28. december 2005 - 18:25 #5
this i <div id="'+i+'" onclick="oThis.Click(this);";> henviser jo til div objektet, så du bliver nødt til at bruge et lille triks:

  function Build (){
    oThis = this;
    this.selectbox = eval(["1a","2b","3c","4d"]);
    var obj = document.getElementById("dropdowndiv");
    obj.innerHTML="";
    for(i=0;i<=this.selectbox.length-1;i++){
      obj.innerHTML += '<div id="'+i+'" onclick="oThis.Click(this);";>' + this.selectbox[i] + '</div>';
    }
  }
Avatar billede sjh Nybegynder
28. december 2005 - 18:39 #6
aha.. fedt det virker smide du også lige et svar, nyp
Avatar billede nyp Nybegynder
28. december 2005 - 19:13 #7
Det er jo sådan set tip der har svaret på dit spørgsmål, så giv dem til ham.
Avatar billede sjh Nybegynder
28. december 2005 - 19:20 #8
jeps.. men jeg vil også godt give dig lidt point.. hvis du vil ha dem.. så smider jeg bare 30 point mere på ;)
Avatar billede sjh Nybegynder
29. december 2005 - 17:29 #9
Når det ser ikke ud til at nyp vil ha point for det..

Mange tak for hjælpen og godt nytår..
Avatar billede tjp Mester
30. december 2005 - 05:31 #10
Tak for point og godt nytår...
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