2009-06-25 111 views
3

有人可以让我知道,如果我有一个网页,包括复选框(父母),并在同一网页上,我也有一个来自另一页显示的iframe一些记录,其中也有一个复选框(儿童)对每个记录,如果我打勾父复选框,我想级联到iframe中的所有儿童复选框,以及禁用这些儿童复选框。如何访问iFrame复选框元素

真的很感谢这个帮助,因为我不确定如何访问iframe中的复选框。该名男子页面上

我的iframe的定义是类似以下内容:

<iframe id="iframe1" src="'+URL+'" style="border:none;width:799px;height:200px;" frameborder="1" framespacing="0" marginheight="0" marginwidth="0"></iframe> 

任何例子/网站将是巨大的。

谢谢。 Tony。

回答

6

好吧这里有一个例子...

首先这里是内嵌框架内容源(我把它叫做FramePage.htm)...

<body> 
    <input id="Checkbox1" type="checkbox" name="checkbox" /> 
    <input id="Checkbox2" type="checkbox" name="checkbox"/> 
    <input id="Checkbox3" type="checkbox" name="checkbox" /> 
</body> 

这里是页面上的源那里面的iFrame ...

<iframe id="frame" src="FramePage.htm"></iframe> 

<input id="Button1" type="button" value="button" onclick="setData()" /> 

<script type="text/javascript"> 
    function setData() 
    { 
     var frame = document.getElementById('frame'); 

     var checkboxes = frame.contentWindow.document.getElementsByName('checkbox'); 

     for (var i = 0; i < checkboxes.length; i++) 
     { 
      checkboxes[i].checked = true; 
     } 
    } 
</script> 

单击父页面上的按钮将选择框架页面上名称为'复选框'的所有复选框。

希望这有助于:)

+0

感谢您的Chalkey - 我会试试看。顺便说一句,我也需要禁用iframe中的复选框 - 这只是复选框[i] .disabled = true? – tonyf 2009-06-25 13:51:23

0

不确定你确切的问题(你能否提供更多细节?)但如果iframe src的URL与父代不在同一个域中,则可能存在跨域安全问题,根据同源政策。

0

这工作得很好

$("#select_checkbox").change(function(event){ 
    $("#content").contents().find(':checkbox').each(function(){ 
     jQuery(this).attr('checked', $("#select_checkbox").is(':checked')); 
    }); 
}); 

其中select_checkbox是父复选框的ID,内容是框架的id