2012-04-05 4 views
1

Ohne zu viel ins Detail zu gehen und ohne dass die Leute zu sehr aufgelegt werden.Währungsvariable entspricht Dollarzeichen, wie drucke ich es? Jquery Ausgabe

Die Variable Backup-Währung für diesen Fall ist gleich $.

Ich benutze Chrome V8 in dem Abschnitt, in dem die Variable an den HTML übergeben wird, damit ich grundlegende Javascript-Funktionen dort aber NO jQuery verwenden kann.

ich vorbei eine Variable in die HTML über Template Toolkit wie so:

var backupcurrency = [% backupcurrency %]; 

Da ist in meinem JS:

var temp = backupcurrency + ''; 
console.log(typeof(temp));  
console.log(temp); 

Die Ausgabe von diesem ist, dass temporäre eine Zeichenfolge ist, aber die Wert der Temperatur ist nicht ‚$‘ und stattdessen für den Wert I erhalten:

function (a,b){return new e.fn.init(a,b,h)} 

ich denke, vielleicht kann ich an die st anhängen klingeln Sie im Chrome v8-Schritt, damit das Dollarzeichen entkommt, aber ich sollte das trotzdem in der Jquery tun können.

Jetzt weiß ich, dass dies mit der Verwendung von Jquery zu tun hat, aber wie drucke ich buchstäblich das $ - Dollarzeichen und behandle den Fall, dass die Währung gleich dem Dollarzeichen ist, wenn die Variable gleich £ oder € I ist wollen diese Benutzer keine Probleme haben?

Hier ist der Code ich die Variable in verwenden möchten

HTML (wieder hohe Verwirrung zu vermeiden):

<div id="upsell"></div> 

JS:

var prod = "<div id='upselltext'><h6>Price: " + temp + backupvalue + "/year</h6></div>"; 

$('#upsell').append(prod); 

Backup-Wert ist ein Nummer, in diesem Fall '12 .50 '

EDIT:

Ok löste dies durch JSON.stringify() auf der Variable, bevor es

stash({backupcurrency: JSON.stringify(backupcurrency), backupvalue: backupvalue }); 

dann die HTML bleibt gleich zum HTML übergeben wurde, sondern es als ein Zeichen von jquery anerkannt.

+0

Haben Sie versucht, die HTML-Nummer zu verwenden? Für $ seine $ –

+0

ok, das funktioniert, aber ich musste es als "& # 36" schreiben, was bedeutet, dass ein Leerzeichen zwischen dem Symbol und dem Wert ist, der nicht ideal ist, aber es funktioniert. Aber jetzt, wie erkenne ich, dass die Variable das Dollarzeichen in einer IF-Anweisung ist und entsprechend handeln? – Davekilg

Antwort

0

Ich weiß nichts über Template Toolkit, aber wenn '&#36' (mit Leerzeichen) funktioniert, dann versuchen Sie '&#36;' (mit Semikolon anstelle von Leerzeichen).

+0

Ok, das das Problem mit dem Abstand löst, aber ich müsste dann den Fall berücksichtigen, wenn die Währung des Benutzers nicht Dollars ist und wie man in diesem Fall mit der Variable umgeht. – Davekilg

+0

Template Toolkit baut auf Perl auf, oder? Dann haben Sie vielleicht mehr Glück, wenn Sie Ihre Frage mit Perl markieren. Ich kenne keine Perl, aber ich fand diesen Artikel, vielleicht hilft es: http://www.perlmonks.org/?node_id = 731125 – Peter

+0

HTML und JavaScript haben keine Funktionen für die regionale Formatierung, daher müssen Sie eine serverseitige Sprache (wie Perl) verwenden oder eigene Funktionen in JavaScript erstellen. – Peter