Следующий пример кода работает в FireFox, но IE вызывает проблемы.
Этот код по сути отображает список динамических флажков в соответствии с массивом JSON.
Когда я пытаюсь передать variblseзначение для флажков хранится как «вкл».Я заметил, что есть дополнительный атрибут, который отображается (только IE), который называется jQuery1288631121994, который хранит реальное значение.Кажется, что jquery пытается управлять состоянием флажков, но я не могу получить доступ к сохраненным значениям?
Вот мой тестовый пример:
<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>