none
Probelma al cambiar fecha de editorfor con JQuery. Imposible cambiarla. RRS feed

  • Pregunta

  • Hola:

    Estoy intentando cambiar una fecha con jquery que viene de ajax, pero no hace el cambio, he itentando con distintos formatos, pero ha sido imposible.

     var d = new Date( moment(result.FechaPago1));
                   
     $("#FechaPago1").val(moment(d).format("DD/MM/YYYY"));
     $("#FechaPago2").val(moment(d).format("DD-MM-YYYY"));
     $("#FechaPago3").val(moment(d).format("DD.MM.YYYY"));
     $("#FechaPago4").val(moment(d).format("MM/DD/YYYY"));
     $("#FechaPago5").val(moment(d).format("YYYY/DD/MM"));
     $("#FechaPago6").val(moment(d).format("YYYY/MM/DD"));
     $("#Pago1").val(result.Pago1);
    
     alert(d);

    Si alguien sabe como puedo cambiar la fecha con jquery se lo agradecería.

    Un Saludo


    • Editado elturle domingo, 17 de noviembre de 2019 19:52 Edicion
    domingo, 17 de noviembre de 2019 11:53

Todas las respuestas

  • Saludos,

    Ya que estas utilizando Jquery porque no utilizas el datepicker :

    https://jqueryui.com/datepicker/ 


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    Blog
    J.Joaquin

    lunes, 18 de noviembre de 2019 20:49
  • Hola Joaquín:

    He cambiado las fechas a jquery, la fecha funciona bien, pero me da error de formato de fecha.

    Las fechas que me da como buenas son las que tienen formato mm/dd/yyyy como puedes ver en la siguiente imagen.

    El codigo que he utilizado es el siguiente:

    $(function () {
        //Array para dar formato en español 
        $.datepicker.regional['es'] =
            {
                closeText: 'Cerrar',
                prevText: 'Previo',
                nextText: 'Próximo',
    
                monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio',
                    'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
                monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun',
                    'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
                monthStatus: 'Ver otro mes', yearStatus: 'Ver otro año',
                dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
                dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sáb'],
                dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],
                dateFormat: 'dd/mm/yy', firstDay: 1,
                initStatus: 'Selecciona la fecha', isRTL: false
            };
    
    
        $(".datefield").datepicker($.datepicker.regional["es"]); 
        
    });

    y en la carpeta shared en "EditorTemplates" en puesto una vista para datetime:

    @model Nullable<DateTime>
    
    @{
        DateTime dt = DateTime.Now;
        if (Model != null)
        {
            dt = (System.DateTime)Model;
    
        }
        @Html.TextBox("", String.Format("{0:d}", dt.ToShortDateString()),
         new { @class = "datefield form-control form-control-sm", type = "string" })
    }
    

    Si en la region de datepicker tiene puesto "es" y el formato "dd/mm/yy", no se porque me da error en el mismo.

    Un Saludo.

    martes, 19 de noviembre de 2019 18:40
  • hola

    valida la cultura aplicada en el sitio web del lado del servidor, si aplciaste una cultura como ser en-US entonces tomara ese formato

    si lo cambias por configuracion a es-ES seguro aplique

    en el web.config define

    <system.web>
         <globalization uiCulture="es" culture="es" />
         ...
    </system.web>
    

    asi asignas muchos de los formatos incluido el de la fecha del lado del servidor

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 19 de noviembre de 2019 22:23
  • Hola Leandro:

    Si tengo puesta la cultura en el web.config con la siguiente instrucción:

     <globalization enableClientBasedCulture="true" culture="es-ES" uiCulture="es-ES" />

    Un Saludo.

    miércoles, 20 de noviembre de 2019 17:02