2008-10-13 6 views
3

Как мне сделать это с помощью jQuery?Получить значение радио внутри iframe

В основном структура:

<form id="myForm"> 
    <iframe> 
    <!-- Normal HTML headers omitted --> 
    <input type=radio name="myRadio" value=1>First 
    <input type=radio name="myRadio" value=2>Second 
    <input type=radio name="myRadio" value=3>Third 
    </iframe> 
    <input type=button value="Submit" /> 
</form> 

Я пробовал различные примеры из сети, такие как

$("input[@type=radio][@checked]"); 

Но не удалось. Даже с плагином формы jQuery формы .fieldValue() не удалось.

ответ

11

Попробуйте $('#myForm iframe').contents().find('input[name=myradio]').val()

я буду считать, что уже загружены содержимое Iframe и доступны например в одном домене.

+0

Ницца, но я получаю «on», хотя ничего не выбрано ... – syaz 2008-10-13 16:22:34

0

Если jQuery не делает какой-то магии, о которой я не знаю, доступ к DOM другого фрейма требует небольшого обмана. Это может работать:

var frameDocument = $('#myForm iframe').contentDocument || $('#myForm iframe').contentWindow.document; 
$(frameDocument).find('input[type=radio][checked]'); 

И, обратите внимание, это из документации JQuery:

Обратите внимание на «@» перед именем атрибута осуждался в версии 1.2.