Dynamisch variabel vullen in class
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<input type="text" class="vulvariabel" id="abc">
//hieronder het javascript waar ik het mee wil doen
function TestClass()
{
this.abc;
}
var t = new TestClass();
$( ".vulvariabel" ).change(function() {
var variabelid = $(this).attr('id');
var waarde = $(this).val();
window[t.variabelid] = waarde; //hier gaat het fout. met een normale variabel krijg ik dit gedaan maar om een variabel in de class te setten werkt dit niet.
});
//hieronder het javascript waar ik het mee wil doen
function TestClass()
{
this.abc;
}
var t = new TestClass();
$( ".vulvariabel" ).change(function() {
var variabelid = $(this).attr('id');
var waarde = $(this).val();
window[t.variabelid] = waarde; //hier gaat het fout. met een normale variabel krijg ik dit gedaan maar om een variabel in de class te setten werkt dit niet.
});
Ik heb al gevonden dat je met window[variabel] een variabel kan setten. Ik krijg het alleen niet gedaan als ik een variabel in de class wil setten (wel als ze buiten de class staan). Heb al een tijd zitten googlen maar kan hier geen oplossing voor vinden. Weet iemand hoe ik dit kan doen? Ik kom hier niet uit en kan geen goede bronnen of voorbeelden vinden.
Bedankt!.
Wil je waarde of waarden bijhouden. In het laatste geval zul je toch meerdere objecten moeten aanmaken van TestClass? Ik zie (nog) niet helemaal waar je met deze constructie naartoe wilt.
Code (php)
1
2
3
4
5
2
3
4
5
<input type="text" id="veld1" class="vulvariabel">
<input type="text" id="veld2" class="vulvariabel">
<input type="text" id="veld3" class="vulvariabel">
<input type="text" id="veld4" class="vulvariabel">
<input type="text" id="veld5" class="vulvariabel">
<input type="text" id="veld2" class="vulvariabel">
<input type="text" id="veld3" class="vulvariabel">
<input type="text" id="veld4" class="vulvariabel">
<input type="text" id="veld5" class="vulvariabel">
Dit zou dan (ter illustratie) tot veld100 kunnen lopen.
Ik wil niet per veld het onderstaande definieren:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function TestClass{
this.veld1;
this.veld2;
this.veld3;
this.veld4;
this.veld5;
}
$( "#veld1" ).change(function() {
t.veld1 = $(this).val();
});
$( "#veld2" ).change(function() {
t.veld2 = $(this).val();
});
$( "#veld3" ).change(function() {
t.veld3 = $(this).val();
});
$( "#veld4" ).change(function() {
t.veld4 = $(this).val();
});
$( "#veld5" ).change(function() {
t.veld5 = $(this).val();
});
this.veld1;
this.veld2;
this.veld3;
this.veld4;
this.veld5;
}
$( "#veld1" ).change(function() {
t.veld1 = $(this).val();
});
$( "#veld2" ).change(function() {
t.veld2 = $(this).val();
});
$( "#veld3" ).change(function() {
t.veld3 = $(this).val();
});
$( "#veld4" ).change(function() {
t.veld4 = $(this).val();
});
$( "#veld5" ).change(function() {
t.veld5 = $(this).val();
});
Dit lijkt me zo inefficiënt om dan voor elk invoerveld wat ik heb een '.change' te bouwen.
Daarom wilde ik dat graag simpeler maken door het onderstaande
Code (php)
1
2
3
4
5
2
3
4
5
$( ".vulvariabel" ).change(function() {
var variabelid = $(this).attr('id'); //het id ophalen van het veld (het id is hetzelfde als de class parameter;
var waarde = $(this).val(); //De waarde ophalen die moet worden geset.
window[t.variabelid] = waarde; //De waarde setten in de class.
});
var variabelid = $(this).attr('id'); //het id ophalen van het veld (het id is hetzelfde als de class parameter;
var waarde = $(this).val(); //De waarde ophalen die moet worden geset.
window[t.variabelid] = waarde; //De waarde setten in de class.
});
Ik wil dus in 1 class meerdere variabelen vasthouden maar wil het liefst maar 1 functie die deze variabelen daar werkelijk in plaatst (simpelweg omdat dat [volgens mij] netter is).
(Hoop dat het zo iets duidelijker is?)