2017-01-14 6 views
1

Jscript code part1Javascript Klick-Funktion funktioniert nicht

part2

Wenn ich versuche Unterschied zwischen zwei Werten der Datumsauswahl berechnen die Klick-Funktion funktioniert nicht. Aber wenn ich versuche, etwas Einfaches zu tun wie: document.getElementById ("Preis"). InnerHTML = "safas"; es funktioniert .. Ich konnte es nicht herausfinden und auch der Code, den ich benutze funktioniert in einer leeren Seite.

$(document).ready(function(){ 
    var $datepicker1 = $("#datepicker1"); 
    var $datepicker2 = $("#datepicker2"); 
    $datepicker1.datepicker(); 
    $datepicker2.datepicker({ 
    onClose: function() { 
     var fromDate = $datepicker1.datepicker('getDate'); 
     var toDate = $datepicker2.datepicker('getDate'); 
     // date difference in millisec 
     var diff = new Date(toDate - fromDate); 
     // date difference in days 
     var days = diff/1000/60/60/24; 

     document.getElementById("Label1").innerHTML = days; 
    } 
}); 
}); 

Also habe ich die vorgeschlagenen Lösungen ausprobiert und einige Nachforschungen angestellt, die ich schließlich nicht verarbeiten konnte.

+0

Wo der vollständige Code ist HTML inklusive. Bitte geben Sie Text nicht Bild. –

+0

@RafiqueAhmed Vielen Dank für Ihre Antwort. hier ist jsfiddle https://jsfiddle.net/txxt1b7u/#&togetherjs=g7axFdc3gb – newbiex1

+0

Für den Datensatz ist Pickadate() nicht Teil von ** jquery.ui **. Anscheinend versucht dein Code in Fiddler diese Bibliothek zu benutzen: ** amsul.js **, die nicht geladen wird: http://amsul.ca/pickadate.js/date/ – derloopkat

Antwort

0

rate ich würde eine kleine Funktion schreiben dabei helfen:

function dateDifference(start, end) { 
    var d1 = new Date(start); 
    var d2 = new Date(end); 
    return Math.round(Math.abs((d2 - d1)/86400000)); 
} 

dieser Funktion gegeben zwei Datum im String-Format, wie mm/dd/yy oder 2017.01.21, wird die Anzahl der Tage zwischen Rückkehr die zwei Daten.

Hier ius ein Beispiel, das näher an Ihren Code: https://jsfiddle.net/Twisty/g0ujgbdo/

HTML

<label for="datepicker1">From</label> 
<input type="text" id="datepicker1" name="from"> 
<label for="datepicker2">to</label> 
<input type="text" id="datepicker2" name="to"> 
<p id="results"></p> 

JavaScript

$(function() { 
    var dF = "mm/dd/yy", 
    from = $("#datepicker1") 
    .datepicker() 
    .on("change", function() { 
     to.datepicker("option", "minDate", gD($(this))); 
     if (from.datepicker("getDate") !== null && to.datepicker("getDate") !== null) { 
     $("#results").html("You selected " + dateDifference(from.datepicker("getDate"), to.datepicker("getDate")) + " days."); 
     } 
    }), 
    to = $("#datepicker2").datepicker() 
    .on("change", function() { 
     from.datepicker("option", "maxDate", gD($(this))); 
     if (from.datepicker("getDate") !== null && to.datepicker("getDate") !== null) { 
     $("#results").html("You selected " + dateDifference(from.datepicker("getDate"), to.datepicker("getDate")) + " days."); 
     } 
    }); 

    function gD($el) { 
    return $.datepicker.parseDate(dF, $el.val()) || null; 
    } 

    function dateDifference(start, end) { 
    var d1 = new Date(start); 
    var d2 = new Date(end); 
    return Math.round(Math.abs((d2 - d1)/86400000)); 
    } 
});