【发布时间】:2010-07-21 11:31:06
【问题描述】:
我构造了一个数组,稍后我将使用它来比较一些值。 我使用这段代码来构造“myArray”,稍后我将使用它:
var optionTexts = [];
$('#stripeMeSubSubCat tr').each(function(){
if ($(this).find('input:checkbox.subsubcat_chkclass:not(:checked)').length == 0)
{
subsubrow_cat_id_no = parseInt($(this).closest("tr").attr("id"));
optionTexts.push(subsubrow_cat_id_no);
};
});
var myArray = optionTexts.join(', ');
alert("myArray = "+myArray);
这里我用myArray做个对比:
$('#stripeMeSubSubCat tr').each(function(){
myindex = $.trim($(this).closest("tr").attr("id"));
var arr = [myArray];
//var arr = [0, 439, 52, 53];
myindex = parseInt(myindex);
alert(myindex);
alert(arr);
if ((jQuery.inArray(myindex, arr)) == -1) {
var equal = "FALSE";
} else {
var equal = "TRUE";
$("#stripeMeSubSubCat tr[id='" + myindex + "'] input").attr('checked', true);
};
alert(equal);
});
就像上面的代码一样,它总是返回 FALSE。 但是,如果不使用第一块代码而只启用注释掉的 var arr(我将数组设置为固定数据),它会在应该返回的位置返回 TRUE。
有什么想法吗?
【问题讨论】: