Ik ben bezig met een admin pagina waar gebruikers nodes aan een boom toe kunnen voegen. Als iemand in de 'select multiple' waarin de boom wordt weergegeven, een node aanklikt, moet de naam van deze node in een input type worden weergegeven. Dat is uiteindelijk gelukt:

Ik zit nu alleen met het volgende probleem: om de boom goed te kunnen weergeven, indent ik elke node met no brake spaces:
Met de functie get_parent breng ik naam van de geselecteerde node over naar de input box recht (met rode cirkel).
Ga even uit van het plaatje hierboven. Hierin is Vierkant geselecteerd. Het probleem is dat 'Vierkant' nu ergens halverwege die input box staat. Logisch, want met het overbrengen zijn ook de spaces waarmee ik de indent regel, meegekomen.
Ik heb met verschillende scriptjes geprobeerd die spaces (IndexOf(" ") ...) te verwijderen, maar ik heb twee problemen:
1. spaces verwijderen lukt niet. Moet ik wellicht zoeken op nbsp's in de string?
2. hoe verwijder ik alleen de spaces links van de string?
Ik besef dat deze vraag neigt naar een scriptrequest. Ik plaats hem toch, omdat ik nu al 3 uur bezig ben met dit probleem, en het nu niet leuk meer is. Ik heb verschillende scripts op javascriptsource en planetsourcecode bekeken, maar deze hielpen mij niet verder. Wie stuurt mij op weg?

Ik zit nu alleen met het volgende probleem: om de boom goed te kunnen weergeven, indent ik elke node met no brake spaces:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
| <select name="cat_list" size="20" onchange="get_parent();" multiple> <option value=26>Food</option> <option value=27> Fruit</option> <option value=39> snuffeldierpartje</option> <option value=40> Rond</option> <option value=41> Vierkant</option> <option value=42> Rechthoekig</option> <option value=28> Meat</option> ...etc... </select> |
Met de functie get_parent breng ik naam van de geselecteerde node over naar de input box recht (met rode cirkel).
HTML:
1
2
3
4
5
6
| function get_parent(){
var selectedItem = document.frm_cat_add.cat_list.selectedIndex;
var selectedText = document.frm_cat_add.cat_list.options[selectedItem].text;
document.frm_cat_add.cat_parent_name.value = selectedText;
} |
Ga even uit van het plaatje hierboven. Hierin is Vierkant geselecteerd. Het probleem is dat 'Vierkant' nu ergens halverwege die input box staat. Logisch, want met het overbrengen zijn ook de spaces waarmee ik de indent regel, meegekomen.
Ik heb met verschillende scriptjes geprobeerd die spaces (IndexOf(" ") ...) te verwijderen, maar ik heb twee problemen:
1. spaces verwijderen lukt niet. Moet ik wellicht zoeken op nbsp's in de string?
2. hoe verwijder ik alleen de spaces links van de string?
Ik besef dat deze vraag neigt naar een scriptrequest. Ik plaats hem toch, omdat ik nu al 3 uur bezig ben met dit probleem, en het nu niet leuk meer is. Ik heb verschillende scripts op javascriptsource en planetsourcecode bekeken, maar deze hielpen mij niet verder. Wie stuurt mij op weg?
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."