討論區快速選單
知識庫快速選單
討論區最近新進100則主題 網路投保旅行平安險 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
輸入事件套入FOR迴圈,i參數疑問
更改我的閱讀文章字型大小
作者 : iboutbackup(ibout)
[ 貼文 1 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/24 上午 12:14:04
JS部分:
function realtime(){
  var element=$('.input123');
  var div=$('.test123');
  for (var i = 0; i < element.length; i++) {
    element.eq(i).change(function() {
     alert(i); //2
     //div.eq(i).html(this.value);
    });
  };
}
======================================
HTML部分:
<input type="text" name="text" id="input1" class="input123" />
<div>輸入的值為:<span id="test1" class="test123">還未輸入</span></div>
<br><br><br>
<input type="text" name="text" id="input2" class="input123" />
<div>輸入的值為:<span id="test2" class="test123">還未輸入</span></div>
<script type="text/javascript">realtime();</script>
======================================
任一輸入框輸入文字後,會顯示在任一div之中,
但根據以上的code,卻不能正常顯示,
後來將div.eq(i).html(this.value);中,
eq(i)中的i值換成0或1就可以正常顯示,
所以使用alert查看i值,
發現i竟然都是2!
可是明明是處在FOR迴圈之中,
為何i值會顯示2呢?
於是前來詢問各位大大,謝謝。
作者 : kagaya(kagaya) VC++優秀好手C++優秀好手貼文超過1000則人氣指數超過30000點
[ 貼文 1597 | 人氣 38709 | 評價 4590 | 評價/貼文 2.87 | 送出評價 115 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/24 上午 09:55:44
先了解.change的功能
作者 : turing(Alan)
[ 貼文 66 | 人氣 0 | 評價 300 | 評價/貼文 4.55 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/25 下午 07:05:48
>可是明明是處在FOR迴圈之中,
>為何i值會顯示2呢?
>於是前來詢問各位大大,謝謝。

看來是在用jQuery。

alert顯示是2的原因是:alert時,i的值是2。for loop後,i的值便是2。原因簡單得很!

執行時,alert並非在for loop內!

試試把

alert(i);

改為

alert(element.index(this));

看看。


從你使用for loop中,已知你不懂jQuery。

試把 realtime()改為

function realtime()
{
var element=$('.input123');

element.change(function()
{
// alert(i); //2
// alert(element.index(this));
$(this).next('div').children('span').text($(this).val());
//div.eq(i).html(this.value);
});
}

看看。


>先了解.change的功能

這跟.change的功能有甚麼直接關係?
作者 : kagaya(kagaya) VC++優秀好手C++優秀好手貼文超過1000則人氣指數超過30000點
[ 貼文 1597 | 人氣 38709 | 評價 4590 | 評價/貼文 2.87 | 送出評價 115 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/26 上午 09:50:23
>$(this).next('div').children('span').text($(this).val());

錯了 span不是用 text 而是 html
另外
他就是搞不懂.change的執行時機
才會以為放在迴圈裡就會執行到

作者 : kagaya(kagaya) VC++優秀好手C++優秀好手貼文超過1000則人氣指數超過30000點
[ 貼文 1597 | 人氣 38709 | 評價 4590 | 評價/貼文 2.87 | 送出評價 115 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/11/26 上午 09:59:24
看錯
text可以
 板主 : Clark
 > Java Script - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Java Script - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Java Script
1 Snaking 1420 
2 jer 1140 
3 foolface 1080 
4 Clark 970 
5 Milx 960 
6 羅蘋 780 
7 艾里克斯 710 
8 abgne 600 
9 Fillano 500 
10 YnioBa 480 
Java Script
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875