Comment faire pour ajouter div existants div?
Bonjour, je suis entrain de créer un site web en utilisant php.J'ai un formulaire qui est pour ajouter un rendez-vous. dans cette page, l'utilisateur peut fillup date, l'Heure de début et heure de Fin du rendez-vous. mais si l'utilisateur veut ajouter de la date et de l'heure, il/elle peut aussi y ajouter. pour ce que j'ai à écrire de code suivant.
<div id="date">
<table>
<tr>
<td>
Date<br>
<input type="text" id="dateid">
</td>
<td>startTime:<select><option value="00:00">00:00</option></select></td>
<td>EndTime:<select><option value="00:00">00:00</option></select></td>
<td><input type="button" value="Extra Time" onClick="addTime()"></td>
</tr>
</table>
</div>
pour onlick événement, j'ai créer sur la fonction.
<script>
function addTime()
{
var timeDiv='<div id="extraTimeDiv"><table><tr><td>Date<br><input type="text" id="extradate"></td><td >Start Time</td><td><select id="addstart" name="addstart"><option value="00:00"> 00:00</option><option value="00:30"> 00:30</option><option value="01:00"> 01:00</option><option value="01:30"> 01:30</option><option value="02:00"> 02:00</option> EndTime:</td><td ><select id="addend" name="addend"><option value="00:00"> 00:00</option><option value="00:30"> 00:30</option><option value="01:00"> 01:00</option><option value="01:30"> 01:30</option><option value="02:00"> 02:00</option></select></td><td></td></tr></table></div>'
var div = document.getElementById('date');
div.innerHTML = div.innerHTML + timeDiv;
}
</scritp>
cela fonctionne bien mais quand je clique sur plus, puis les précédents sélectionné données effacées. les données devraient être tel qu'il est lorsque j'appuie sur plus pour ajouter du temps supplémentaire. kidnly m'aider comment faire pour résoudre ce problème? Je vous remercie à l'avance.
- Êtes-vous à l'aide de jQuery, ou seulement le jQuery tag?
- date est une zone de texte, pas un div...
- je suis en train d'écrire seulement ce code. me dire comment faire cela?
- j'ai édité la question
- Deux éléments avec le même id, toujours pas aller au travail.
- Êtes-vous y compris le fichier jQuery sur votre page?
- Il est invalide à plusieurs éléments avec le même
id
, mais$('div#date')
et$('input#date')
pourrait être utilisé. - est l'OP à l'aide de qui?
- j'ai changé l'id de la zone de texte. ce n'est pas nécessaire
- Pas pour autant que je sais, mais le choix serait de réussir.
- Laissant
id=
est pas valide. Il suffit de supprimer l'attribut entièrement. - j'ai sed id comme dateid.
- kindlly me dire comment ajouter des Div? mon filledup données devraient être rester, comme c'est
- AKA: Ce n'est pas Ajax, je ne vois pas l'objet XMLHttpRequest est utilisé ici.
- je vous remercie.. pas besoin d'utiliser AJAx... j'ai eu la Solution
- Et dommage que la solution que vous avez choisi ne permet pas d'expliquer pourquoi cela arrive. lol
- j'utilise $("#date").append(timeDiv); et j'ai eu la solution, mais une chose de plus lorsque j'appuie sur le bouton plus il ajouter de nouvelles div qui ont deux déroulant.deuxième fois que je appuyer sur le bouton à ce moment ajouter de nouvelles id de la div mais restent même de tous les déroulante. j'ai eu de la valeur de la dernière ajouter des div. je veux tout de la valeur
Vous devez vous connecter pour publier un commentaire.
vous pouvez utiliser la méthode clone ex : cet exemple est pour un tr à ajouter sur la table dont l'id est vtable.
où plus est l'id du bouton cliqué pour créer div. Veuillez noter que ce n'est à des fins de démonstration
aussi que par votre question vos données précédentes est l'effacement bcoz vous êtes à l'aide de + pour insérer du code html dans votre code, plutôt que de cela, vous devez ajouter utiliser ou de la méthode clone de sorte qu'il sera toujours ajouter les données à la fin, vous pouvez également passer les différents identifiants à chaque html ajouté.
Le problème ici est innerHTML ne me souviens pas de valeurs. Vous ne devriez pas utiliser innerHTML pour ajouter un nouveau contenu si vous avez besoin de maintenir l'état. Vous avez besoin d'utiliser appendChild.
Maintenant, puisque vous étiquetés il jQuery c'est aussi simple que
Maintenant, si vous continuez à l'appeler
addTime
vous sera ajout de plusieurs éléments avec le même id. Vous souhaitez peut soit laisser tomber les id ou ajouter un compteur à l'ids.jQuery est une bonne façon de le faire:
Essayez de changer
div.innerHTML = div.innerHTML + timeDiv;
à
pour plus de détails checkout le lien suivant
http://api.jquery.com/append/