L'exemple de code suivant fonctionne dans FireFox mais IE cause des problèmes.La valeur de la case à cocher jQuery générée dans IE8 est-elle stockée sur "on" plutôt que sur la valeur réelle?
Ce code rend essentiellement une liste de cases à cocher dynamiques en fonction d'un tableau JSON.
Lorsque j'essaie de soumettre le variblse, la valeur des cases à cocher est enregistrée comme "on". J'ai remarqué qu'il y a un attribut supplémentaire qui est rendu (IE seulement) appelé jQuery1288631121994 qui stocke la valeur réelle. Il semble que jquery essaie de gérer l'état des cases à cocher mais je n'arrive pas à accéder aux valeurs stockées?
Voici mon exemple de test:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="js/jquery-1.4.3.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
var state = {
Professions: [1]
};
$(document).ready(function() {
var data = [{ "ID": 1, "Name": "Football" }, { "ID": 2, "Name": "Cricket" }, { "ID": 3, "Name": "Hockey"}];
$.each(data, function() {
var catid = this['ID'];
var catname = this['Name'];
var selected = $.inArray(catid, state.Professions) != -1 ? true : false;
$("<li></li>")
.append(
$("<input></input>").attr({
id: 'category' + catid
, name: 'categories'
, value: catid
, type: 'checkbox'
, checked: selected
})
.click(function (event) {
//alert($(this)[0].value);
})
)
.append(
$(document.createElement('label')).attr({
'for': 'category-' + catid
})
.text(catname)
)
.append(
$("<div></div>").addClass("clear")
)
.appendTo("#ProfSelector ul");
});
$("#btnTest").click(function() {
alert($("#ProfSelector input:checkbox:checked").val());
});
});
</script>
</head>
<body>
<div id="ProfSelector">
<ul>
</ul>
</div>
<a href="#" id="btnTest">Test</a>
</body>
</html>
duplication possible de [JQuery Checkbox liste problème dans IE? Les valeurs enregistrées comme on, on, on devraient être 10,12,13 etc ...] (http://stackoverflow.com/questions/4069598/jquery-checkbox-list-problem-in-ie-values-saved-as -on-on-devrait-être-10-12-13-e) –
Salut, c'est le même problème. J'ai senti que cela rendait le problème plus clair en donnant un exemple complet et en ne poluant pas la question initiale avec mon erreur initiale, c'est le diagnostic du problème. – Mantisimo
[Ceci] (http://jsfiddle.net/RFneh/) est le code que j'utilise pour générer des checkboxes _my_. Produit toujours les mêmes erreurs. Une solution serait appréciée. – jurgemaister