selectmenu remove data attribute javascript jquery datepicker

javascript - remove - prop jquery



jQuery Birthday Picker relacionado con la actualizaciĆ³n del formulario (2)

Estoy usando un excelente plugin de jquery para la fecha de cumpleaños de mi formulario web.

Demostración aquí: http://abecoffman.com/stuff/birthdaypicker/

El problema con el que estoy tratando es en la validación de un formulario. La validación de mi formulario redirige a la misma página y perderé la fecha elegida.

¿Hay alguna manera de agregar una opción al javascript del selector de fecha: http://abecoffman.com/stuff/birthdaypicker/bday-picker.js

para que pueda establecer una "fecha seleccionada por defecto". La configuración puede funcionar de la siguiente manera:

$("#picker1").birthdaypicker({ chosenDay: 1;" chosenMonth: 28;" chosenYear: 2011;" });

Esto establecerá la fecha "seleccionada" para el 28 de enero de 2011.


Sin modificar el complemento, puede usar JQuery para establecer los valores. El marcado que genera el complemento se ve así:

<fieldset class=''birthday-picker''> <select class=''birth-year'' name=''birth[year]''></select> <select class=''birth-month'' name=''birth[month]''></select> <select class=''birth-day'' name=''birth[day]''></select> </fieldset>

Entonces tu JQuery simplemente tendría que atrapar esos elementos y establecer su valor . Debería asegurarse de establecer un valor que exista en la lista de selección.

$(''select.birth-year'').val(''my_year''); // 1980 $(''select.birth-month'').val(''my_month''); // 1-12 (not "Jan" which is the text) $(''select.birth-day'').val(''my_day''); // 1-31 (keep month limitation in mind)

Este código debería llamarse después de haber llamado al complemento; de lo contrario, el marcado no se habrá generado todavía.


Si el servidor devuelve una fecha como esta (c # code):

new DateTime(birthYear, birthMonth, birthDay, 0, 0, 0, DateTimeKind.Utc).ToString(CultureInfo.InvariantCulture);

En el archivo jquery-birthday-picker.min.js encontrará un código como este:

if (s.defaultDate) { var d = new Date(s.defaultDate); console.log(d); u.val(d.getFullYear()); a.val(d.getMonth() + 1); f.val(d.getDate()) }

solo cámbialo por:

if (s.defaultDate) { var d = new Date(s.defaultDate); console.log(d); u.val(d.getFullYear()); a.val(d.getMonth() + 1); f.val(d.getDate()) //Added by LVC $birthday.val(s.defaultDate); }

Luego, cuando especifique un DefaultDate, el control funcionará como queramos