嗨誰能告訴我爲什麼這個代碼不會工作:jQuery的,具有未定義的對象值問題
var cars;
var red = document.getElementById("redCheckBox");
var Ih = document.getElementById("lowHighselectDrpDown");
$.("itemChange").change(function(){
$.get("test.php", function($cars){
if (red.checked == true){
cars += $.grep($cars, function(x){
return (x.colorClass == Red);
});
}
if (lh.selected == true){
cars.sort(function(a, b){
if (a.price > b.price){
return 1;
}
if (a.price < b.price){
return -1;
}
return 0;
});
}
$.each(cars, function(i, searchList(){
if (iNLarr[i]){
iNLarr[i](searchList.name);
}
});
}, "json");
});
好吧,$汽車是從test.php的文件中檢索對象的數組。每個部分應該沒問題,因爲我已經嘗試了幾次,沒有任何問題,它基本上將對象(汽車)數組中的信息放到html上。 iNLarr是一組函數。當我嘗試這段代碼時,我回到了Red,因爲它是未定義的,請注意它是Red不是紅色,這意味着它是對象值之一,而不是DOM函數。
每個對象都是具有名稱,價格和顏色的關聯數組。
另一個問題,假設有人幫助我得到這個工作,你認爲可以添加更多的if語句,以便可以添加或減少cars變量。
編輯:
好吧,我改變了底部一段代碼:
$.each(cars, function(i, searchList){
if (searchList.name == true){
iNLarr[i](searchList.name);
}
else(
iNLarr[i]("");
}
});
我希望,而不是顯示的名字,我可以顯示出來,只有當有東西來顯示。基本上這些名字都用div來表示,我現在有20次潛水並且只有三個名字。我該如何做到這一點,因爲當數組中沒有對象時,只有三個被顯示,剩下的被清空。
定義了「紅色」在哪裏? – mgamba 2014-09-21 14:32:41
紅色未定義,它是數組中對象的值之一。基本上我想從$ cars數組中排序所有紅色的汽車。 – Tom 2014-09-21 14:35:20
什麼是test.php的JSON輸出? – krisdyson 2014-09-21 14:37:24