1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| <!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="Author" content="Daniel Hagnoul">
<title>Forum jQuery</title>
<style>
/* Base */
body { background-color:#dcdcdc; color:#000000; font-family:sans-serif; font-size:medium; font-style:normal;
font-weight:normal; line-height:normal; letter-spacing:normal; }
h1,h2,h3,h4,h5 { font-family:serif; }
div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img { margin:0px; padding:0px; }
h1 { font-size:2em; text-shadow: 4px 4px 4px #bbbbbb; text-align:center; }
p { padding:6px; }
#conteneur { width:95%; min-width:800px; min-height:500px; margin:12px auto; background-color:#FFFFFF;
color:#000000; border:1px solid #666666; }
/* Test */
select.bidule {
float:left;
margin:12px;
}
#affiche {
clear:both;
}
</style>
</head>
<body>
<h1>Forum jQuery</h1>
<div id="conteneur">
<form>
<select id="jour" name="jour">
<option selected="selected" value="1">Un</option>
<option value="2">Deux</option>
<option value="3">Trois</option>
<option value="4">Quatre</option>
</select>
<div id="genere_select"></div>
<input id="selectSubmitID" type="submit" name="submit" value="Submit"/>
</form>
<div id="affiche"></div>
</div>
<script charset="utf-8" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script>
$(function(){
$("#genere_select").delegate("select", "change", function(){
$("#affiche").append("<p>id = " + this.id + ", value = " + $(this).val() + ", option texte = " + $(this).children(":selected").text() + "</p>");
});
$("#jour").change(function(){
var n = parseInt($(this).val(), 10);
if (!isNaN(n) && n > 0){
var obj = $("#genere_select").detach();
obj.empty();
$("#affiche").empty();
var tab = [];
// ajout de l'attribut name au select
for (var i = 0; i < n; i++){
tab.push("<select class='bidule' id='bidule" + i +"' name='bidule" + i +"'>" +
"<option selected='selected' value='bidule" + i +"0'>bidule " + i + "0</option>" +
"<option value='bidule" + i +"1'>bidule " + i + "1</option>" +
"<option value='bidule" + i +"2'>bidule " + i + "2</option>" +
"<option value='bidule" + i +"3'>bidule " + i + "3</option>" +
"<option value='bidule" + i +"4'>bidule " + i + "4</option>" +
"</select>");
}
obj.append(tab.join("")).insertAfter("#jour");
}
});
/*
* serialize travaille sur les attributs name
* le code précédent a donc été modifié
*
* exemple, contenu de data pour trois select dans la division genere_select
* jour=2&bidule0=bidule00&bidule1=bidule11
*/
$("#selectSubmitID").click(function(){
var objForm = $(this).parents("form"),
data = objForm.serialize();
$.post("traitement.php", data, function(){
// traitement de la réponse du serveur
});
return false; // important !
});
});
</script>
</body>
</html> |
Partager