Beste php-ers,

Ik heb in JQuery een functie gemaakt in de document.ready.


$('#titleInput').keyup(function() {
	if($("#filename").val() == "" || $("#filename").val() != $(this).val()) {
		str = $("#titleInput").val();
		if($(this).val().indexOf(" ") != -1) {
			alert('Gevonden');
			str = str.replace(" ","-");
		} else {
			alert('NIET Gevonden');
		}
		$("#filename").val(str);
	}
});


De bedoeling is dat hij iedere spatie die in de input van titleInput komt, te vervangen voor een streepje. Echter doet hij nu enkel bij de eerste spatie een streepje en bij de andere spaties niets meer.
Hoe kan ik dit oplossen?
Bump
Ik heb geen verstand van jquery, maar het lijkt mij dat je het dan in een loop moet zetten zolang er nog een spatie in zit.
@SanThe, ik heb deze inderdaad geprobeerd in een loop te zetten, maar kreeg steeds errors. Ik ben ook nog niet zo bekend dat ik weet hoe ik dit een een loop kan zetten.

@Robert, Is deze replaceAll functie niet alleen elementen zoals paragraphs etc? Ik zal hem gewoon eens proberen.

Eventuele andere oplossingen/suggesties hoor ik graag:)

[edit]Helaas de replaceAll krijg ik niet aan het werk
BUMP
Hoi Karl,

Ik heb dat al geprobeerd maar hij pakt enkel de eerste
stel ik voor het woord: "Blaat blaat blaat blaat" in
dan maakt hij er nu van "Blaat-blaat blaat blaat"
terwijl er "Blaat-blaat-blaat-blaat" moet komen te staan:(

Graag reacties
Uitrekenen met match hoeveel erin staan, en daan een forloopje maken. Zo had ik het ooit gedaan, maar ik kan het nu niet meer vinden.

Sorry :']
Wim schreef op 29.12.2009 22:31
Hoi Karl,

Ik heb dat al geprobeerd maar hij pakt enkel de eerste
stel ik voor het woord: "Blaat blaat blaat blaat" in
dan maakt hij er nu van "Blaat-blaat blaat blaat"
terwijl er "Blaat-blaat-blaat-blaat" moet komen te staan:(

Graag reacties

Achja. De mensen hier kunnen vast en zeker wel gokken wat je hebt gemaakt he.

<script>
var blaat = 'test een twee drie';
alert ( blaat + "\n" + blaat.replace(/ /g,"-") + "\n" + blaat.split(' ').join('-'));
</script>

Getest in http://htmledit.squarefree.com/
levert:
test een twee drie
test-een-twee-drie
test-een-twee-drie

``Joris,, schreef op 29.12.2009 22:39
Uitrekenen met match hoeveel erin staan, en daan een forloopje maken. Zo had ik het ooit gedaan, maar ik kan het nu niet meer vinden.

Sorry :']

Als je al kan matchen, dan kan je ook replacen. Dus dan is zo'n loopje e.d. nogal onzinnig.

str = str.replace("/ /g","-");


De 'g' staat voor global.

Reageren