2011-05-27 33 views
1

我想知道是否有可能遍歷頁面上的所有文本框,並向每個數字中插入一個值,以1開頭,然後+1。 有此頁面上超過150個文本框和他們不是一個數組,我不希望由一個重命名他們的.. :-(通過文本框循環插入不是數組的文本框

感謝您的幫助....

+0

「重命名」 或 「設置值」,什麼應該是什麼? – Tomalak 2011-05-27 21:49:13

回答

5
var input = document.getElementsByTagName("INPUT"); 
var j = 0; 

for (var i = 0; i < input.length; i++) { 
    if (input[i].type == "text") { 
    input[i].value = ++j; 
    } 
} 
+0

'j'似乎多餘 – 2011-05-27 21:50:41

+0

@matt是的,它似乎。事實並非如此。 ;) – Tomalak 2011-05-27 21:53:25

+0

啊是的,我現在看到了真相 – 2011-05-27 22:19:56

1

Try this out:

$('input[type="text"]').each(function(index) { 

    $(this).val(index); 

}) 

每部分的要求,爲了完整起見,上述要求JavaScript庫,jQuery的,你可以參考它像這樣:

<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.js"></script> 

如果你不使用<!DOCTYPE html>可以包括type="text/javascript"屬性。

+0

這確實有效,但OP沒有提及他們正在使用jQuery – 2011-05-27 21:47:40

+0

@Matt - 確實,但你永遠不知道。 =) – 2011-05-27 21:48:26

+0

它需要jQuery,而且他似乎沒有提及它 – 2011-05-27 21:49:32

1
function FillTextBoxes() 
{ 
    var tbs = document.getElementsByTagName("input"); 
    var valCount = 0; 

    for (var i = 0 ; i < tbs.length ; i++) 
    { 
     if (tbs[i].type == "text") 
     { 
      tbs[i].value = ++valCount; 
     } 
    } 
} 

window.onload = FillTextBoxes; 
+0

This Works !!非常感謝!!!! – luke 2011-05-27 21:53:27

+0

它有一個錯誤。在閱讀Tomalak的回答後更新。 – 2011-05-27 21:56:37

+0

好的,但是這個也可以.. :-)非常感謝你們所有人的幫助 – luke 2011-05-27 22:00:49