2016-07-26 58 views
0

我有一個iframe(相同的域),它有一堆複選框。 我想從父頁面運行JavaScript並根據複選框的名稱標記子項中的複選框(它們具有不同的值 - 但我想檢查它們全部)。 iframe的id和它的名字都是AppBody。我關心的所有複選框都命名爲dow0。在iframe中使用jquery按名稱檢查複選框

已更新,包括我現在的位置,只要挖掘到複選框。

alert("start"); 
 
var iframe = document.getElementById("AppBody"); 
 
var doc = iframe.contentWindow.document; 
 
var widgets= doc.getElementById("widgets"); 
 
var detail= widgets.getElementById("Detail"); 
 

 
var checkboxes = doc.getElementsByName("dow0"); 
 
alert(checkboxes.length); 
 
    for (var i = 0; i < checkboxes.length; i++) { 
 
     checkboxes[i].checked = true; 
 
    }

+0

我曾經在javascript中玩過一段時間,但在幾年之內沒有玩過。老實說,我試過四處搜尋,看看我能否找到類似的東西,但沒有太多的運氣。 – tnriverfish

+0

所以你還沒有嘗試過任何東西呢?如果人們認爲你不願意參與發現自己的解決方案,那麼你不可能得到答案。如果你已經做了一些嘗試,然後張貼相關的代碼(意思是,花費一些努力去除不相關的代碼,而不是僅僅粘貼所有代碼)並且將你的問題指向特定的問題。 – BobRodes

+0

更新了我試過的版本 – tnriverfish

回答

1

雖然沒有任何的jQuery在你的代碼,我會假設你正在使用jQuery,因爲你有你的問題標記爲這樣和唐沒有javascript標籤。

首先,將class="dow0"添加到每個具有該名稱的元素。類比jQuery中的名稱更容易處理。然後:

$('.dow0').prop('checked', true); 

將檢查所有與類dow0類複選框。這假定你沒有任何其他複選框在你的iframe之外具有相同的類名。如果這是不是這樣,你可以在更嚴格的選擇:

這話說到與被包含的元素id爲AppBodydow0設置checked屬性true中的任何元素。