在iframe内获取单选框的值

3

我该如何使用jQuery完成这个任务?

基本的结构如下:

<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()也失败了。

2个回答

11

尝试使用$('#myForm iframe').contents().find('input[name=myradio]').val()

我假设iframe的内容已经被加载并且可以访问,例如处于同一域。


实际上,这个方法是有效的。我使用了<input ... val=1>而不是value=1。是我的错,打错字了。 - syaz

0

除非jQuery有我不知道的魔法,否则访问另一个框架的DOM需要一些诡计。这可能会起作用:

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

另外,从jQuery文档中注意到:

请注意,自1.2版本起,属性名称前的“@”已被弃用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接