múltiples registros usando el mismo script

He creado un sitio web de cupones, donde cada cupón tiene un temporizador de cuenta regresiva. Sin embargo, cuando ve un comprobante, la cuenta regresiva funciona bien... También tengo una página de resumen con varios comprobantes (usando una región repetida en el conjunto de registros)... cuando aplico el script a cada uno de los comprobantes, el script no funciona. trabajo.

El HTML:

      <h3 class="remaining"><?php echo $row_rs_dealItem['dateend']; ?> remaining</h3>

El archivo externo JAVASCRIPT:

$(document).ready(function(){
$('.remaining').each(function(){
    var expiry_date = Date.createFromMysql($(this).html());
    var current_date = new Date();
    console.log(expiry_date.getTime() );
    console.log(current_date.getTime());
    if (expiry_date.getTime() >  current_date.getTime()) {
        var time_diff = Math.floor((expiry_date.getTime() - current_date.getTime()) / (1000*60*60));
        console.log(expiry_date.getTime() - current_date.getTime());
        console.log(time_diff);
        days_diff = Math.floor(time_diff / 24);
        hours_diff = time_diff % 24;

        $(this).html(days_diff + ' days ' + hours_diff + ' hours');
    }
    else{
        $(this).html('expired');
    }
});
}); 

 Date.createFromMysql = function(mysql_string)
{ 
 if(typeof mysql_string === 'string')
{
   var t = mysql_string.split(/[- :]/);

  //when t[3], t[4] and t[5] are missing they defaults to zero
  return new Date(t[0], t[1] - 1, t[2], t[3] || 0, t[4] || 0, t[5] || 0);          
}

return null;   
}

El JAVASCRIPT en línea:

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="scripts/script.js"></script>
<script type="text/javascript">
    var reference       = '<?php echo $row_rs_dealItem['reference']; ?>';
    var today           = Date.createFromMysql('<?php echo date('Y-m-d h:i:s'); ?>');
    var contractstarts  = <?php echo ($row_rs_dealItem['datestart'] == '0000-00-00') ? '""' : 'Date.createFromMysql("' . $row_rs_dealItem['datestart'] . '")'; ?>;
    var contractexpires = <?php echo ($row_rs_dealItem['dateend'] == '0000-00-00') ? '""' : 'Date.createFromMysql("' . $row_rs_dealItem['dateend'] . '")'; ?>;
</script>

Espero que esto sea suficiente información para ti.

gracias

preguntado el 22 de mayo de 12 a las 15:05

Si el problema está en el cliente, mostrar el código PHP del lado del servidor no es útil. Muestra la salida HTML real. -

Gracias. Ver el lado del cliente me mostró dónde me equivoqué. -

1 Respuestas

Me di cuenta de que efectivamente había copiado el código de una página a otra y los conjuntos de registros tenían nombres diferentes :(

contestado el 23 de mayo de 12 a las 10:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.