2009-06-25 10 views
3

Quelqu'un peut-il me faire savoir que si j'ai une page Web qui consiste en une case à cocher (parent) et sur cette même page Web, j'ai aussi un iframe provenant d'une autre page qui affiche un certain nombre d'enregistrements, qui a également une case à cocher (enfants) contre chaque enregistrement, si je coche la case parent, je voudrais cascader cela à tous les enfants checkboxs dans les iframe ainsi que désactiver ces cases à cocher enfants.Comment accéder aux éléments de la case à cocher iFrame

J'apprécierais vraiment un peu d'aide avec ceci car je ne suis pas sûr comment accéder aux cases à cocher dans l'iframe.

Ma définition iframe sur la page de l'homme est semblable à ce qui suit:

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

Tous les exemples/sites serait génial.

Merci. Tony.

Répondre

6

Bon est un exemple ici ...

Tout d'abord est la source ici pour le contenu iFrame (je l'ai appelé 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> 

est ici la source sur la page qui abrite les 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> 

en cliquant sur le bouton sur la page de parent sélectionnera toutes les cases avec le nom « » cases sur la page de cadre.

Hope this helps :)

+0

Merci pour cette Chalkey - Je vais l'essayer. BTW, je dois également désactiver la case à cocher dans l'iframe aussi - serait-ce juste des cases à cocher [i] .disabled = true? – tonyf

+0

Je pense que ce serait des cases à cocher [i] .checked = false; Je pense que désactiver désactiverait le contrôle pas la valeur ... :) –

0

Vous n'êtes pas sûr de votre problème (pouvez-vous fournir plus de détails?) Mais si l'URL de iframe src n'est pas dans le même domaine que le parent, il peut y avoir des problèmes de sécurité inter-domaines selon les politiques de même origine.

0

Cela fonctionne parfaitement bien

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

où select_checkbox est l'id de la case à cocher parent, le contenu est l'identifiant du cadre

Questions connexes