Re: [問題] 請教jQuery迴圈的問題 !
※ 引述《killuaza (Killuaza)》之銘言:
: 各位先進好
: 小弟目前有一小段程式有問題
: 對jQuery 還不是很熟 ,還請大家多多幫忙 !
: for(var i=1;i<best.length;i++){
: if(i<10){
: document.write("<td id=zone0-"+ i + " width=60 align='center'>0" + i + "</td>");
: }else{
: document.write("<td id=zone0-"+ i + " width=60 align='center'>" + i + "</td>");
: }
: if((i%10)==0)document.write("</tr><tr>");
: $("td#zone0-"+i).click(function(){
/*這裡面的時空是被按下之後的時空*/
: if($(this).css("background-color")=='red'){
: $(this).css("background-color","white");
: zoneInput[0]--;
: best[i]--;
: }else{
: if(zoneInput[0]>=max){
: alert('Over Max');
: }else{
: $(this).css("background-color","red");
: zoneInput[0]++;
: best[i]++;
: }
: }
: });
: }
: 我想做的就是在一表格內點任一數字
: 然後該數字就會做加總
: 但在 .click(function 裡,迴圈的 i 值都是固定 為 81 (best.length=80)
: 這是為什麼咧 ?
因為靜態變數+時間差的關係 ,
你這樣寫綁訂的時候是把 i 這個變數綁進function(){}
而不是把i的值給綁進去 , 希望這樣講你能瞭解. XD
而 i 最後它去找系統中 i 的值時候 , i 是跑完loop後最後剩下的值.
我沒測過 , 不過我想把資料存起來應該就好了吧. :p
$("td#zone0-"+i).data("index",i).click(function(){
var i=$(this).data("index");
/*.....剩下的處理... */
});
--
What do you want to have ? / What do you have?
從書本中,你可以發現我的各種興趣。
從CD中,你可以瞭解我所喜歡的偶像明星。
或許從文字你很難以瞭解一個人,但從物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.219.202
→
10/28 11:40, , 1F
10/28 11:40, 1F
推
10/28 11:44, , 2F
10/28 11:44, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章