Option Beschreibung Beispiel
Inputs
Usereingabefelder
monatsgehalt Eingabefeld für das Monatsgehalt. Alle Eingabefelder werden über das Name-Attribut angesprochen.
 $('#Selector').WagesPerHour({monatsgehalt: 'my-name'});
            
arbeitszeit Eingabefeld für die Arbeitszeit
$('#Selector').WagesPerHour({arbeitszeit: 'my-name'});
            
stundenlohn Eingabefeld für den Stundenlohn. Diese Feld ist nur sichtbar, wenn der User die entsprechende Option im Selectfeld gewählt hat.
  $('#Selector').WagesPerHour({stundenlohn: 'my-name'});
            
span
spanMonatsgehalt Die Span-Felder werden über das Class-Attribute angesprochen. Den Namen der Klasse könnt ihr frei wählen. Dieses Feld bekommt der User erst bei Wahl der entsprechenden Option zu sehen.
Hier wird das Ergebnis der Rechnung angezeigt.
  $('#Selector').WagesPerHour({spanMonatsgehalt: 'my-name'});
            
spanStundenlohn Die Span-Felder werden über das Class-Attribute angesprochen.
  $('#Selector').WagesPerHour({spanStundenlohn: 'my-name'});
            
was
was Diese Span-Feld ändert die Anzeige neben dem Select-Feld die Anzeige, sobald der User darin eine Änderung vornimmt.
Auch diese Option bezeichnet den Css-Class-Namen und ist damit änderbar.
  $('#Selector').WagesPerHour({was: 'my-name'});
            
Fehler-Box
msgBox Dieses Feld wird über den Css-Namen angesprochen und zeigt die Fehlermeldungen an.
  $('#Selector').WagesPerHour({msgBox: 'my-name'});
            
Button
btnCalculate Auch für den button greift unser Programm auf das Name-Attribut zu. Dieser Button liefert bei korrekten Eingaben das Ergebnis.
  $('#Selector').WagesPerHour({btnCalculate: 'my-name'});
            
btnReset Löscht die Eingaben des Users, wenn kein Restart der Seite vorliegt.
  $('#Selector').WagesPerHour({btnReset: 'my-name'});
            
Version Download Bild   Download-Archive
1.1   Zip   Tar   7z
/**
 * jQuery Stundenlohnrechner plugin
 *
 * @name jquery-wph-1.1.js
 * @author Rocco Wernicke - http://r-wernicke.de
 * @version 1.1
 * @date April 15, 2017
 * @category jQuery plugin
 * @copyright (c) 2017 Rocco Wernicke
 */

(function (factory)
{
  if (typeof define === 'function' && define.amd)
  {
    // AMD
    define(['jquery'], factory);
  }
  else if (typeof module === 'object' && module.exports)
  {
    factory(require('jquery'));
  }
  else
  {
    // Browser globals
    factory(jQuery);
  }

}, function ($)
{
  "use strict";
  var subs = {
    isNumber: function (canidate)
    {
      return /\d/.test(canidate);
    },
    calculateStdLohn: function ($iA, $iM)
    {
      var wochenarbeitszeit = ($iA * 13) / 3;
      var stundenlohn = $iM / wochenarbeitszeit;
      return stundenlohn.toFixed(2);
    },
    calculateMonatsLohn: function($iA, $iS)
    {
      var wochenarbeitszeit = ($iA * 13) / 3;
      var monatslohn = $iS * wochenarbeitszeit;
      return monatslohn.toFixed(2);
    },
    replaceComma: function(canidate){
      var newstr;
      
      if(canidate.indexOf(','))
      {
        newstr = canidate.replace(",", ".");
      }
      else
      {
        newstr = canidate;
      }
      return newstr;
    }
  };
 //wph = WagesPerHour
  $.fn.wph = function (options)
  {
    var config = {
      //inputs
      monatsgehalt: 'monatsgehalt',
      arbeitszeit: 'arbeitszeit',
      stundenlohn: 'stundenlohn',
      //select
      select: 'was',
      //span
      spanMonatsgehalt: 'monatsgehalt',
      spanStundenlohn: 'stundenlohn',
      //msgBox
      msgBox: 'msgbox',
      //was wurde gewählt
      was: 'was',
      //button
      btnCalculate: 'btnCalcualte',
      btnReset: 'btnReset'
    };
    
    var obj = $.extend(config, options);
    //inputs
    var iMonatsgehalt = $('input[name="' + obj.monatsgehalt + '"]');
    var iArbeitszeit = $('input[name="' + obj.arbeitszeit + '"]');
    var iStundenlohn = $('input[name="' + obj.stundenlohn + '"]');
    //select
    var $sSelect = $('#' + obj.was);
    //button
    var $btnCalc = $('button[name="' + obj.btnCalculate + '"]');
    var $btnReset = $('button[name="' + obj.btnReset + '"]');
    //span
    var $spanMonatsgehalt = $('.'+ obj.monatsgehalt);
    var $spanStundenlohn = $('.' + obj.stundenlohn);
    //msgbox für Fehlermedlungen
    var $msgBox = $('.' + obj.msgBox);
    //was wurde gewählt
    var $spanWas = $('.' + obj.was);
    //default
    $spanWas.text('Stundenlohn');

    //zu Beginn verbergen
    iStundenlohn.hide();
    $spanMonatsgehalt.hide();
    
    $sSelect.change(function (event)
    {
      var _$self = $(this).val();
      $spanWas.text(_$self);

      if (_$self === 'Stundenlohn')
      {
        iMonatsgehalt.show();
        $spanMonatsgehalt.hide();

        $spanStundenlohn.show();
        iStundenlohn.hide();

      }

      if (_$self === 'Monatsgehalt')
      {
        iMonatsgehalt.hide();
        $spanMonatsgehalt.show();

        $spanStundenlohn.hide();
        iStundenlohn.show();
      }
    });
    
    //check input
    var _$iMonatsgehalt;
    var _$iArbeitszeit;
    var _$iStundenlohn;
    
    var _$bMonatsgehalt = false;
    var _$bArbeitszeit = false;
    var _$bStundenlohn = false;
    
    iMonatsgehalt.focusout(function()
    {
      if(subs.isNumber(parseInt(iMonatsgehalt.val())) !== false)
      {
        _$iMonatsgehalt = parseInt(iMonatsgehalt.val());
        _$bMonatsgehalt = true;
      }
      else
      {
        $msgBox.html('

Bitte das Monatsgehalt eintragen!

'); } }); iArbeitszeit.focusout(function(){ if(subs.isNumber(parseInt(iArbeitszeit.val())) !== false) { _$iArbeitszeit = parseInt(iArbeitszeit.val()); _$bArbeitszeit = true; } else { $msgBox.html('

Bitte die Arbeitszeit pro Woche eintragen!

'); } }); iStundenlohn.focusout(function(){ if(subs.isNumber(parseInt(iStundenlohn.val())) !== false) { var canidate = subs.replaceComma(iStundenlohn.val()); _$iStundenlohn = parseFloat(canidate); _$bStundenlohn = true; } else { $msgBox.html('

Bitte Ihren Stundenlohn eintragen!

'); } }); $btnCalc.on("click", function () { if ($sSelect.val() === 'Stundenlohn') { if(_$bMonatsgehalt === true && _$bArbeitszeit === true) { $spanStundenlohn.html(subs.calculateStdLohn(_$iArbeitszeit, _$iMonatsgehalt)); } else { $msgBox.html('

Bitte alles eintragen!

'); return false; } } if ($sSelect.val() === 'Monatsgehalt') { if(_$bArbeitszeit === true && _$bStundenlohn === true) { $spanMonatsgehalt.html(subs.calculateMonatsLohn(_$iArbeitszeit, _$iStundenlohn)); } else { $msgBox.html('

Bitte alles eintragen!

'); return false; } } }); $btnReset.on("click", function () { $msgBox.html(""); iMonatsgehalt.val(""); iArbeitszeit.val(""); iStundenlohn.val(""); $spanStundenlohn.text('?'); $spanMonatsgehalt.text('?'); }); }; }(jQuery));

Hier findet Ihr das Html-Grundgerüst.

Stundenlohnrechner
Was soll berechnet werden?
Monatsgehalt (Brutto) ? Euro
Arbeitszeit pro Woche Stunden
Stundenlohn ? Euro

Licensed under the MT License
(The MIT License)

Copyright © 2010 Rocco Wernicke

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Webmaster Email-Kontakt
Wikingeck 2
24837 Schleswig
Deutschland

Haftung für Inhalte

Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Anbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.

Haftung für Links

Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

Urheberrecht

Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Nutzen hierfür unser Kontkatformular. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.

Datenschutz

Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name,Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden grundsätzlich nicht an Dritte weitergegeben.

Wir weisen darauf hin, dass die Datenüübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.

Quelle

Quelle: erstellt mit dem Impressum-Generator von eRecht24.

Quelle: Disclaimer von eRecht24, dem Portal zum Internetrecht von Rechtsanwalt Sören Siebert.