J'ai trouvé ce code (Exemple https://jsfiddle.net/uxo27cq0/ )
<html> <style> </style> <body> // div here <script type="text/javascript"> // i put the code here </script> </body> </html>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Je ne sais pas comment le faire fonctionner en html de la manière suivante:
function displaytickets(){
var $panel = $('<div/>').addClass('col-xs-3 panel panel-default')
$panel.append($('<div><h3 class="panel-title">Title</h3></div>').addClass('panel-heading'))
$panel.append($('<div>Panel content</div>').addClass('panel-body'));
$('body').append($panel);
// let's assume your ajax returns 4 tickets
var data = {
'tickets' : [
{'description' : 'Description_1', 'status': 'Status_1', 'subject': 'Subject_1' },
{'description' : 'Description_2', 'status': 'Status_2', 'subject': 'Subject_2' },
{'description' : 'Description_3', 'status': 'Status_3', 'subject': 'Subject_3' },
{'description' : 'Description_4', 'status': 'Status_4', 'subject': 'Subject_4' }
]
};
for (i = 0; i < data.tickets.length; i++) {
var new_panel = $panel.clone(); // note the use of .clone()
new_panel.find('.panel-title').text(data.tickets[i].subject);
new_panel.find('.panel-body').text(data.tickets[i].description);
$('body').append(new_panel);
}
}
displaytickets();
évidemment cela n'a pas fonctionné, donc, si quelqu'un peut me dire comment cela devrait être, cela résoudrait complètement mon problème
Merci !!!
p >
4 Réponses :
<html>
<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<style>
</style>
<body>
// div here
</body>
<script type="text/javascript">
function displaytickets() {
var $panel = $('<div/>').addClass('col-xs-3 panel panel-default')
$panel.append($('<div><h3 class="panel-title">Title</h3></div>').addClass('panel-heading'))
$panel.append($('<div>Panel content</div>').addClass('panel-body'));
$('body').append($panel);
// let's assume your ajax returns 4 tickets
var data = {
'tickets' : [
{'description' : 'Description_1', 'status': 'Status_1', 'subject': 'Subject_1' },
{'description' : 'Description_2', 'status': 'Status_2', 'subject': 'Subject_2' },
{'description' : 'Description_3', 'status': 'Status_3', 'subject': 'Subject_3' },
{'description' : 'Description_4', 'status': 'Status_4', 'subject': 'Subject_4' }
]
};
for (i = 0; i < data.tickets.length; i++) {
var new_panel = $panel.clone(); // note the use of .clone()
new_panel.find('.panel-title').text(data.tickets[i].subject);
new_panel.find('.panel-body').text(data.tickets[i].description);
$('body').append(new_panel);
}
}
displaytickets();
</script>
</html>
Cela a fonctionné pour moi, mais j'essaie que les éléments html soient hors du code javascript pour pouvoir les modifier librement, quelque chose comme ceci: (voir ma dernière réponse)
@Jess Yerena, voici ce dont vous avez besoin - créez deux fichiers et exécutez index.html: index.html
function displaytickets() {
var $panel = $('<div/>').addClass('col-xs-3 panel panel-default');
$panel.append(
$('<div><h3 class="panel-title">Title</h3></div>').addClass('panel-heading')
);
$panel.append($('<div>Panel content</div>').addClass('panel-body'));
$('body').append($panel);
// let's assume your ajax returns 4 tickets
var data = {
tickets: [
{
description: 'Description_1',
status: 'Status_1',
subject: 'Subject_1'
},
{
description: 'Description_2',
status: 'Status_2',
subject: 'Subject_2'
},
{
description: 'Description_3',
status: 'Status_3',
subject: 'Subject_3'
},
{ description: 'Description_4', status: 'Status_4', subject: 'Subject_4' }
]
};
for (i = 0; i < data.tickets.length; i++) {
var new_panel = $panel.clone(); // note the use of .clone()
new_panel.find('.panel-title').text(data.tickets[i].subject);
new_panel.find('.panel-body').text(data.tickets[i].description);
$('body').append(new_panel);
}
}
displaytickets();
main.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<link
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
rel="stylesheet"
/>
</head>
<body>
<div></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="./main.js"></script>
</body>
</html>
Essayez ceci: entrez le code ici
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="div-clone-here"> </div>
$(document).ready(function(){
displaytickets();
});
function displaytickets() {
var $panel = $('<div/>').addClass('col-xs-3 panel panel-default')
$panel.append($('<div><h3 class="panel-title">Title</h3></div>').addClass('panel-heading'))
$panel.append($('<div>Panel content</div>').addClass('panel-body'));
$('#div-clone-here').append($panel);
// let's assume your ajax returns 4 tickets
var data = {
'tickets': [{
'description': 'Description_1',
'status': 'Status_1',
'subject': 'Subject_1'
},
{
'description': 'Description_2',
'status': 'Status_2',
'subject': 'Subject_2'
},
{
'description': 'Description_3',
'status': 'Status_3',
'subject': 'Subject_3'
},
{
'description': 'Description_4',
'status': 'Status_4',
'subject': 'Subject_4'
}
]
};
for (i = 0; i < data.tickets.length; i++) {
var new_panel = $panel.clone(); // note the use of .clone()
new_panel.find('.panel-title').text(data.tickets[i].subject);
new_panel.find('.panel-body').text(data.tickets[i].description);
$('#div-clone-here').append(new_panel);
}
}
Cela a fonctionné pour moi
<html>
<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<style>
.panel {
background-color: red;
border-radius: none;
}
.heading {
background-color: purple;
width: 100%;
}
.panel-body {
background-color: green;
}
</style>
<body>
<div id="container" class="panel">
<div id="header" class="heading"><h3 class="panel-title">Title</h3></div>
<div id="content" class="panel-body">Panel content</div>
<script type="text/javascript">
function displaytickets() {
var $panel = $('container')
$panel.append($('header'));
$panel.append($('content'));
$('body').append(($panel));
// let's assume your ajax returns 4 tickets
var data = {
'tickets': [
{'description' : 'Description_1', 'status': 'Status_1', 'subject': 'Subject_1' },
{'description' : 'Description_2', 'status': 'Status_2', 'subject': 'Subject_2' },
{'description' : 'Description_3', 'status': 'Status_3', 'subject': 'Subject_3' },
{'description' : 'Description_4', 'status': 'Status_4', 'subject': 'Subject_4' }
]
};
for (i = 0; i < data.tickets.length; i++) {
var new_panel = $panel.clone(); // note the use of .clone()
new_panel.find('.panel-title').text(data.tickets[i].subject);
new_panel.find('.panel-body').text(data.tickets[i].description);
$('body').append(new_panel);
}
}
displaytickets();
</script>
</body>
</html>
mais je souhaite extraire les éléments html du code afin de pouvoir les modifier librement, puis les appeler avec l'identifiant ou autrement.
<html>
<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<style>
</style>
<body>
// div here
</body>
<script type="text/javascript">
function displaytickets() {
var $panel = $('<div/>').addClass('col-xs-3 panel panel-default')
$panel.append($('<div><h3 class="panel-title">Title</h3></div>').addClass('panel-heading'))
$panel.append($('<div>Panel content</div>').addClass('panel-body'));
$('body').append($panel);
// let's assume your ajax returns 4 tickets
var data = {
'tickets' : [
{'description' : 'Description_1', 'status': 'Status_1', 'subject': 'Subject_1' },
{'description' : 'Description_2', 'status': 'Status_2', 'subject': 'Subject_2' },
{'description' : 'Description_3', 'status': 'Status_3', 'subject': 'Subject_3' },
{'description' : 'Description_4', 'status': 'Status_4', 'subject': 'Subject_4' }
]
};
for (i = 0; i < data.tickets.length; i++) {
var new_panel = $panel.clone(); // note the use of .clone()
new_panel.find('.panel-title').text(data.tickets[i].subject);
new_panel.find('.panel-body').text(data.tickets[i].description);
$('body').append(new_panel);
}
}
displaytickets();
</script>
</html>
Yerana: Vous pouvez vous référer à la réponse donnée par Carl Kevin Garcia.
quel est le problème et que voulez-vous réaliser?
@Jess Yerena, l'extrait de code est bon, mais nous devons savoir quel est le problème, qu'avez-vous essayé et où vous êtes bloqué plus en détail.
vous pouvez consulter ce jsfiddle.net/8c95b6y7
mais je veux extraire les éléments html du code afin de pouvoir les éditer librement, puis les appeler avec l'identifiant ou autrement. (voir ma dernière réponse)