Re: [問題] click event只執行一次?

看板Ajax作者 (藍藍紫黃橘 粉灰白綠咖)時間14年前 (2011/06/14 15:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《Bladework (Nothing)》之銘言: : ※ 引述《Bladework (Nothing)》之銘言: : : Hi 各位板友, : : 我試著要sort table, 可是click event只會執行一次除非我重新讀取網頁. : : 程式碼的連結在此: http://tinyurl.com/5tgsasa : : 請問有人能給我一些建議或幫助嗎? : : 謝謝各位的時間. : 不好意思, 已附上HTML的連結. : http://tinyurl.com/4xsqljs : td與內容的擷取是在下面id=outputRow和forEach的迴圈內. 可正常運作的demo: http://jsfiddle.net/d5XRX/ 1. > sortFunction - table.appendChild(trArray[j]); + tBody.appendChild(trArray[j]); 原本寫table是附加在2的位置,但應該是要在1的位置。 (sortFunction裡tBody是去讀tBodies[0]) 1 </tbody> 2 </table> 2. > compareValue - var value1 = a.cells[colIndex].innerTEXT; - var value2 = b.cells[colIndex].innerTEXT; + var value1 = a.cells[colIndex].innerHTML; + var value2 = b.cells[colIndex].innerHTML; 不要IE only 3. 如果tbody>td都是字串 那本來的sort不用改 如果可能要比較數字 那可能會sort錯誤 例如會發生22 < 5的錯誤 這時就要將字串轉成數字 新增 function isInt(x) { var y=parseInt(x); if (isNaN(y)) return false; return x==y && x.toString()==y.toString(); } > compareValue var value1 = a.cells[colIndex].innerHTML; var value2 = b.cells[colIndex].innerHTML; + if(isInt(value1) && isInt(value2)){ + value1 = parseInt(value1); + value2 = parseInt(value2); + } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.30.198 ※ 編輯: tomin 來自: 140.122.30.198 (06/14 15:52)
文章代碼(AID): #1DznBLaT (Ajax)
文章代碼(AID): #1DznBLaT (Ajax)