Hoi allen,
--edit--
ik vermeld in de titel override, maar bedoel natuurlijk overload.
Need coffee.
--end edit--
ik heb een functie waarin ik een autocomplete koppel aan een textbox.
Deze functie wil ik overloaden door een andere functie, maar hier kom ik niet helemaal uit.
Ik heb tot dusver dit:
En wat ik dacht te moeten doen om te overloaden is onderstaande code (zoals het in C# werkt). Dat ik dus niet overal de parameter 'performPostBack' moet meegeven (omdat het op heel veel plaatsen voorkomt). Echter als ik RegisterAJAXAutoCompletePlaces(control, postbackcontrol) aanroep, komt hij in de functie met de variabele postbackcontrol undefined.
--edit--
ik vermeld in de titel override, maar bedoel natuurlijk overload.
Need coffee.

--end edit--
ik heb een functie waarin ik een autocomplete koppel aan een textbox.
Deze functie wil ik overloaden door een andere functie, maar hier kom ik niet helemaal uit.
Ik heb tot dusver dit:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| function RegisterAJAXAutoCompletePlaces(control, postbackcontrol) { $(function () { $(control).autocomplete({ select: function (event, ui) { var selectedObj = ui.item; $(control).val(selectedObj.value); __doPostBack(postbackcontrol, ''); }, source: function (request, response) { $.ajax({ // hier gebeurt ook nog wat }); }, minLength: 2, autoFocus: true }); }); } |
En wat ik dacht te moeten doen om te overloaden is onderstaande code (zoals het in C# werkt). Dat ik dus niet overal de parameter 'performPostBack' moet meegeven (omdat het op heel veel plaatsen voorkomt). Echter als ik RegisterAJAXAutoCompletePlaces(control, postbackcontrol) aanroep, komt hij in de functie met de variabele postbackcontrol undefined.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| function RegisterAJAXAutoCompletePlaces(control, postbackcontrol) { RegisterAJAXAutoCompletePlaces(control, postbackcontrol, true); } function RegisterAJAXAutoCompletePlaces(control, postbackcontrol, performPostBack) { $(function () { $(control).autocomplete({ select: function (event, ui) { var selectedObj = ui.item; $(control).val(selectedObj.value); if(performPostBack) __doPostBack(postbackcontrol, ''); }, source: function (request, response) { $.ajax({ // hier gebeurt ook nog wat }); }, minLength: 2, autoFocus: true }); }); } |
[ Voor 4% gewijzigd door PdeBie op 16-11-2012 09:32 ]