我试图在jQuery中完全编写此复选框的脚本检查/取消选中代码片段,但它没有任何成功。这是jQuery / JavaScript代码:
$.ajax({
type: "GET",
url: "check.xml",
cache: false,
dataType: "xml",
success: function(xml) {
$(xml).find("check").each(function(){
$(xml).find("todo").each(function(){
var state = $(this).attr("state");
if (state == "true") {
document.getElementById($(this).attr("id")).checked = true;
} else {
document.getElementById($(this).attr("id")).checked = false;
}
});
});
}
});
很可能只使用jQuery来执行document.getElementbyId(blablabla)....
。我试过这个:
($(this).attr("id")).prop("checked", true)
但这并没有像预期的那样真正发挥作用。有什么建议吗?
答案 0 :(得分:1)
你需要这样做(注意#
符号来获取ID中的元素 - 与CSS选择器相同的规则) -
var id = $(this).attr("id");
$('#'+ id).prop("checked", true);
答案 1 :(得分:0)
你错过了选择器中的“#”:
var id = '#'+ $(this).attr("id");
然后你可以做一个班轮而不是“如果”:
$(id).prop("checked", (state == "true"));