刚刚发现了一个使用jQuery的疯狂事情,我无法解释它。 在返回$ .getJSON时,我要取消/设置一些关于JSON返回哪些类别的复选框。 在调用JSON之前,我做了:
var checkedCats = data.categories.split(';');
for (i=0; i<checkedCats.length; i++) {
$('#category_'+checkedCats[i]).attr('checked',true);
}
完美无缺。 然后,在getJSON的result函数中,我做了这个:
var checkedCats = data.categories.split(';');
for (i=0; i<checkedCats.length; i++) {
var aCheckbox = document.getElementById('category_'+checkedCats[i]);
aCheckbox.checked = true;
}
这有效......随机...有时检查框,有时不... 最疯狂的是,当我将此代码转换为:
^,?(?:[a-zA-Z0-9]+,){0,2},?[a-zA-Z0-9]*$
然后这段代码完美无缺......
有什么理由吗?