Actualmente, mi enlace api es dinámico al seleccionar el año y el mes actuales.
Ejemplo: APILINK.../202109
Esa parte está bien... Pero lo que quiero hacer es cambiar la última parte del enlace API (año y mes) con un selector de fecha y no estoy seguro de cómo puedo hacerlo.
Mi código actual:
const timehsheetUrl = "API LINK" const today = new Date(); const date = today.getFullYear()+('0' + (today.getMonth() + 1)).slice(-2); const settings = { "async": true, "crossDomain": true, "url": timesleetUrl + date, "method": "GET", "headers": {} }Es fácil usar el selector de fechas de jQuery.
El script de selección de fecha debe devolver el mes y el año de la fecha seleccionada.
Almacene la salida en variable y formato. El código que se muestra a continuación le ayudará
// html markup, use jQuery UI CDN in head section <input type="text" id="calendar" name="date1"/> // html markup <script> $('#calendar').datepicker({ dateFormat: 'yy-m-d', inline: true, onSelect: function(dateText, inst) { var date = $(this).datepicker('getDate'), day = date.getDate(), month = date.getMonth() + 1, year = date.getFullYear(); // alert(day + '-' + month + '-' + year); // this is your result alert( "api link is "+"APILINK.../"+year+month); } }); </script>No, no necesita usar el complemento datepicker, mientras que el complemento es más conveniente.
Aquí hay un ejemplo con entrada de fecha HTML predeterminada.
const timesleetUrl = "API LINK"; const today = new Date(); function urlDateSuffix(_date) { return _date.getFullYear()+('0' + (_date.getMonth() + 1)).slice(-2); } let settings = { "async": true, "crossDomain": true, "url": timesleetUrl + urlDateSuffix(today), "method": "GET", "headers": {} } console.log(settings); $(function() { $('#datepicker').change(function() { settings.url = timesleetUrl + urlDateSuffix(new Date(this.value)); console.log(settings); alert(settings.url); }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="date" id="datepicker">