我目前正在嘗試對bookweb動態生成的課本列表(書店購物車解決方案)進行排序。我想按教科書類型訂購或推薦購物車。目前,信息由購物車問題在類型字段中提供,因爲我們無法編輯購物車cgi文件以便像這樣對它們進行排序。因此,初級排序是按科目,學生可以輸入4,二級排序按教科書類型開處方或推薦排序。格式是在目前,如下:如何使用html,javascript,css或其他方式按書本中的顏色代碼或類別分類課本?
Title Type Author ISBN Price
Subject Name
Textbooks Prescribed xxxx xxxx xxx
Textbooks Recommended xxxx xxxx xxx
Subject Name....//it then repeats for all subjects entered
我需要的是:
Title Author ISBN Price
Subject Name
Prescribed
Textbooks xxxxx xxxx xxx
Recommended
Textbooks xxxxx xxxx xxx
Subject Name....//it then repeats for all subjects entered
我一直在使用Java腳本和CSS顏色代碼根據類型的書籍嘗試,但它只做第一行和僅規定
if (<BOOKWEB-TYPE> == "Prescribed"){
//alert("prescribed");
document.getElementById("textbook").className = "bsPrescribed";
}
else if (<BOOKWEB-TYPE> == "Recommended"){
//alert("recommended");
document.getElementById("textbook").className = "bsRecommended";
}
我把警報進行故障排除,甚至那麼只有警覺規定的出現,即使有好書推薦列表。我也試過getElementsByName,但根本沒有任何作用。即使它做了,雖然我仍然有混合的顏色,因爲它不會按照這兩個類別(規定的或推薦的)優先選擇書籍。
什麼是最快,最簡單的方法來實現這一點。 謝謝。
UPDATE1:
現在的getElementById甚至沒有突出的第一行,它確實改變了類,但在CSS從未生效。現在連班級也不會改變。
UPDATE2:
哎呀我拼寫錯誤,在這裏,固定,並檢查了代碼膨脹的罰款,但現在它只是不運行該腳本可言,進一步瞎搞我意識到我需要圍繞這樣quoatation標記:
if ("<BOOKWEB-TYPE>" == "Prescribed"){
alert("prescribed");
document.getElementById("textbook").className = "bsPrescribed";
}
else if ("<BOOKWEB-TYPE>" == "Recommended"){
alert("recommended");
document.getElementById("textbook").className = "bsRecommended";
}
但現在它的作用是隻更新和顏色的第一行是綠色時,在規定的書籍達到了和黃的時候推薦的書都達到了(按照定義的CSS clases ),但它不會改變第一行之後的任何其他書籍的類別。雖然警報顯示它們應該很好,但我知道它的區別是從推薦的。
更新3:
嘗試這樣做,現在連高亮不起作用在課堂上不會改變。我認爲相同的ID會是一個問題。
if ("<BOOKWEB-TYPE>" == "Prescribed"){
alert("prescribed");
document.getElementsByName("textbook").className = "bsPrescribed";
}
else if ("<BOOKWEB-TYPE>" == "Recommended"){
alert("recommended");
document.getElementsByName("textbook").className = "bsRecommended";
}
更新4: 的教科書行
<tr name="textbook" id="textbook" valign=top>
<td align=center valign=top class="bntablerow"><input type="checkbox" name="<BOOKWEB-APN>" /></td>
<td id="bntable" class="bntablerow"><a href="<BOOKWEB-BINHREF>details<BOOKWEB-CGIEXT>?ITEMNO=<BOOKWEB-APN>"><BOOKWEB-TITLE></a></td>
<td class="bntablerow"><BOOKWEB-TYPE> </td>
<td class="bntablerow"><BOOKWEB-AUTHOR> </td>
<td class="bntablerow"><BOOKWEB-ISBN> </td>
<td align="right" class="bntablerow">$<BOOKWEB-PRICE></td>
更新5的HTML代碼: 所以我改變了代碼:
var myTR = document.getElementsByTagName('tr');
for (var i=0;i<myTR.length;i++) {
if ("<BOOKWEB-TYPE>" == "Prescribed") {
myTR[i].className = 'bsPrescribed';
}
}
這顏色規定和離開建議無色這是好的,但親瑕疵是,它只適用於一個主題,如果你有兩個或三個主題,然後着色所有的行。有任何想法嗎?
'if( =「Prescribed」)'你沒有檢查,你試圖賦值。更改爲'if( ==「」Prescribed「)' –
Morpheus
2013-05-14 07:29:05
檢查更新2的問題 – 2013-05-15 04:13:13