2

场景:一个名为 index.html 的大页面,一切都发生在这里。索引有 10 个选项卡(jquery ui 选项卡)。使用 jquery ui 的手风琴小部件,每个选项卡现在平均有 3-5 个子类别(我被拒绝发布图片作为垃圾邮件预防,但我希望您了解布局的样子)。这就是问题开始的地方。iframe 存在于所有这些中,因此我正在查看 25-30 个 iframe,每个 iframe 中约有 5-10 个文本字段。我想要做的只是简单地启用/禁用这些文本字段。

很简单,我知道这可以通过以下方式完成:

$('input[type=text]').attr("disabled", "disabled");

$('input[type=text]').removeAttr("disabled")

索引上的按钮触发一个功能:

 $(".frameClass").each(function () {
                console.log("i found a frame called " + this.name);
});

如何为单击启用的所有输入文本字段建立此连接?我什至尝试在 iframe 中创建一个函数并尝试从.each()

this.unlockFields();

没有把我带到任何地方,有什么想法吗?

4

2 回答 2

1

您必须使用.contents()来访问 iframe 中的元素,如下所示:

$(".frameClass").each(function () {
     $(this).contents().find('input[type=text]').attr('disabled', 'disabled');
});

鉴于 iframe 包含与主页位于同一域中的页面,这应该可以满足您的要求。

于 2012-10-15T19:06:36.357 回答
0

试试这个:

var iframes = $('iframe');
iframes.each(function(index, iframe) {
    var iframe_content = ($.browser.msie ? $(iframe.contentWindow.document) : $(iframe.contentDocument));
    iframe_content.find('input[type=text]').attr({disabled:'disabled'});
});
于 2012-10-15T19:13:53.840 回答