2013-08-20 51 views
0

工作,有人可以幫助我解決這個問題功能沒有用的document.all

JavaScript代碼:

function CheckAll(pObj) { 
     var mCurrStatus; 
     mCurrStatus = pObj.checked; 
     var mObjList; mObjList = document.all["process"]; 
     for (x = 0; x <= 2; x++) { 
      var Obj; 
      Obj = mObjList[x]; 
      Obj.checked = mCurrStatus; 
     } 
} 

ASP經典代碼:

response.Write "<td nowrap><input type=checkbox name=process_1 " 
response.Write "/>box1</td>" 
response.Write "<td nowrap><input type=checkbox name=process_2 " 
response.Write "/>box2</td>" 

,這是我的全選框:

response.Write "<th align=left><input type=checkbox onclick=CheckAll(this)></th>" 

how d OI選擇放入系統箱子當我點擊全選框(它似乎是功能不起作用) 請幫我,而不是給我的例子......非常感謝你小子求助〜

更新時間:

我指的是羅蘭的建議和使新功能,但不工作任何想法?

功能CheckAll(){

var eles = []; 
var len = elems.length; 
//var inputs = document.getElementsByTagName("input"); 
var elems = tab.getElementsByTagName("input"); 
for (var i = 0; i < len; i++) { 
    if (elems[i].name.indexOf('process_') == 0) { 
     eles.push(elems[i]); 
    } 
} 

//var elems = tab.getElementsByTagName("input"); 
for (var x = 0; x < len; x++) { 
    if (elems[x].type == "checkbox") { 
     elems[x].checked = true; 
    } 


} 

}

+0

此外,你可以編輯你的問題... –

+0

要Dimitar,我已經上傳這些代碼在評論字段 – Luk

+1

'document.all'是非標準的,不推薦使用。使用'document.getElementById'或'document.getElementsByName' –

回答

1

這是你如何選擇和檢查所有的複選框:

首先找到你的元素(這是vanilla.js):

// will find all the html elements that have a name containing the value passed 
var find = function(name) { 
    // you can optimize this part a bit (pass the tag name) 
    var elements = document.getElementsByTagName("*"); 
    var results = []; 
    for(var i = 0; i < elements.length; i++) { 
     var elementName = elements[i].name; 
     if(elementName !== undefined && elementName.indexOf(name) != -1) { 
      results.push(elements[i]);    
     } 
    } 
    return results; 
}; 

然後這就是你如何使用這個「實用工具」功能來檢查所有:

var checkAll = function() { 
    var checkBoxes = find("process"); 
    for(var i = 0; i < checkBoxes.length; i++) { 
     checkBoxes[i].checked = true; 
    } 
} 

這裏是一個小提琴:

http://jsfiddle.net/BuacB/1/

作爲一個側面說明,這裏該位是無效的HTML(你缺少一些報價):

response.Write "<td nowrap><input type=checkbox name=process_1 " 
response.Write "/>box1</td>" 

我它必須是:

response.Write "<td nowrap><input type='checkbox' name='process_1' " 
response.Write "/>box1</td>" 
+0

@Dimitrov我已經提到了你的代碼(找到你的元素)和「實用程序」函數的兩個函數,但我仍然不能查看我的一個盒子 – Luk

+0

@Luk你是否修復了你的標記?當你說「我的一個盒子「這是否意味着它適用於其餘的? –

+0

迴應。寫入「 box1」< - 我的盒子裏的這些代碼都很好,我只是想如何使用你的功能進入我的程序,你能幫忙嗎? THX〜 – Luk