2017-01-08 2 views
0

Also ich versuche, diese Grafik arbeiten, aber ich bin eine Art von einem neuen in dieser ganzen Sache, so dass ich ein paar Dinge, die ich nicht zur Arbeit bekommen kann.Kommas innerhalb Zahlen aus Bereichseingang

Mein erstes Problem ist es mit den Kommas. Wenn Sie also den ersten Bereich ziehen und einen Wert wie 1000000 erhalten, möchte ich, dass er wie 1,000,000 aussieht. Oder irgendeine andere Nummer.

Ich habe versucht, etwas, aber es sieht nicht aus, um die ganze Zeit zu arbeiten.

function numberWithCommas(x) { 
    return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ","); 
} 

jQuery('#slider1out').each(function() { 
    var v_pound = jQuery(this).html(); 
    v_pound = numberWithCommas(v_pound); 

    jQuery(this).html(v_pound); 

}); 

Dies ist die Geige (in der Regel, wenn Sie den ersten Bereich und einen Wert ziehen, soll eine Antwort auf dem Boden erscheinen, aber es an der Geige scheint nicht, weiß nicht, warum): https://jsfiddle.net/1x60sp0a/

Wenn Sie mir helfen können, wird es sehr geschätzt werden! Danke und ein schönes Wochenende!

Antwort

0

Wenn Sie Ihren Fiddle-Js-Lade-Typ auf no wrap - in <body> ändern, scheint Ihr Code zu funktionieren (dies wird Ihr jsfiddle funktionieren).

Sie haben den Großteil des Codes an der richtigen Stelle, um das zu tun, wonach Sie suchen. Damit die Ausgabe funktioniert, basiert sie auf den form Elementen oninput Ereignis, das den Wert des Elements output setzt. Wir können dieses Ereignis nutzen, um die Funktion numberWithCommas aufzurufen.

  1. Expose die numberWithCommas Funktion auf den globalen Bereich, und es in Form Inline rufen oninput Attribut:

    Dies kann auf zwei Arten erfolgen. dh. oninput="level.value = numberWithCommas(flevel.valueAsNumber)"JSFIDDLE

  2. Bevorzugtere meiner Meinung nach, als benutzerdefinierte globale scoped Funktionen Potenzial haben, überschrieben. Aktivieren Sie das Ereignis input im Formular und führen Sie unsere eigene Funktion aus, um die HTML-Datei des Elements output zu ersetzen. (Wenn Sie diese Methode wählen, würde ich Ihre $('#slider1out') und $('#flying1') Lookups Variablen außerhalb der Eingangsfunktion vorschlagen Speichern DOM-Lookups zu reduzieren, Code unter Format der Kürze zur Verfügung gestellt in) JSFIDDLE

    $(function() { 
    
        function numberWithCommas(x) { 
         return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ","); 
        } 
    
        $('#calculationForm').on('input', function(){ 
         $('#slider1out').html(numberWithCommas($('#flying1').val())); 
        }); 
    }); 
    
+0

Danke so sehr! Es funktioniert nicht nur wie ein Zauber, aber ich habe verstanden, was du getan hast: D Eine Frage, wenn es dir nichts ausmacht. Ich habe gesehen, dass du # flying1 einen Standardwert von 80.000 angelegt hast, der erscheint und mache die Berechnung auf dem "Rundengleiter". Ich wollte das tun, aber wie kann ich diesen 80k-Wert rechts neben dem Bereichsschieberegler erscheinen lassen? Wenn also die Seite zum ersten Mal erscheint, hat der Schieberegler 1 einen Wert von 80.000 und die Antwort ist 12.000. Danke vielmals! – k3r0

+0

Ist der gleiche Weg wie Option zwei. Sie können einfach die .html() Eigenschaft auf '80, 000' setzen :) – haxxxton

+0

Vielen Dank! Sorry für blöde Fragen, ich lerne immer noch. Danke noch einmal !! – k3r0

Verwandte Themen