J'ai une liste de tâches de base avec les dates d'échéance. Le script CSS pour montrer les dates de retard fonctionne. Si j'ajoute de nouvelles entrées via l'entrée from, le CSS n'est pas appliqué aux articles en retard. J'ai recherché la délégation d'événement ici et ai ajusté le code pour inclure .on pour la délégation. Passé un long moment à essayer de résoudre ce problème, mais toute aide serait appréciée.CSS non appliqué aux données de table insérées
<head>
<script type="text/javascript">
$(document).ready(function() {
$(".add-row").on('click', function() {
var task = $("#task").val();
var date = $("#date").val();
var markup = "<tr><td>" + task + "</td><td>" + date + "</td></tr>";
$('table tbody').append(markup);
});
});
</script>
<script>
$(function() {
$('table td').each(function() {
var row_date =
Date.parse($(this).text().replace(/(\d{2})\/(\d{2})\/(\d{4})/,
'$2/$1/$3'));
var now_date = new Date().getTime();
if (row_date < now_date) {
$(this).parent('tr').addClass('past');
}
});
});
</script>
</head>
<body>
<form>
<input type="text" id="task" placeholder="task" />
<input type="text" id="date" placeholder="dd/mm/yyyy" />
<input type="button" class="add-row" value="Add Row" />
</form>
<table id="task_table">
<thead>
<tr>
<th>Task</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>Mow lawn</td>
<td>01/02/2017</td>
</tr>
<tr>
<td>Clean car</td>
<td>01/02/2017</td>
</tr>
<tr>
<td>Empty bins</td>
<td>01/02/2018</td>
</tr>
</tbody>
</table>
<style>
#task_table tr.past {
background: #ff8a33;
}
</style>
</body>
</html>
vous allez devoir nous montrer le CSS si vous voulez aider à –
Il suffit de déplacer la date logique de comparaison où vous ajoutent des dates à la table sur l'entrée de l'utilisateur. – Arvind