使用jquery从父页面访问子iframe元素?

时间:2013-01-08 05:11:31

标签: jquery jquery-ui iframe

如何从父页面访问Jquery UI对话框中的子div的元素?我正在使用以下代码..虽然使用其id(#adduserframe)访问iframe然后.contents()将完成工作..但它不起作用..我的jquery概念不够好。任何人都可以建议什么能带给我我想要的结果?你能告诉我为什么我无法得到这些元素吗?

            $(document).ready(function(){
            var first_name = '';
            var middle_name = ''; 
            var last_name = '';
            var paginate_url='';
            $('#first_name,#middle_name,#last_name').bind( "change" ,function(){
                first_name = $.trim($('#first_name').val());
                middle_name = $.trim($('#middle_name').val()); 
                last_name = $.trim($('#last_name').val());
                paginate_url='autosuggestUsers.php?first_name=' + first_name + '&middle_name=' + middle_name + '&last_name=' + last_name;
                if( first_name!='' && middle_name!='' && last_name!='' ){

                    $('<div><iframe id="adduserframe" src="'+ paginate_url + '" height="300" width="478" frameborder="0" scrolling="no"></iframe></div>').dialog({
                        title: '<b>User(s) with a similar name</b>',
                        modal: true,
                        autoOpen: true,
                        height: 'auto',
                        width: 500,
                        resizable: false,
                        buttons: {
                            "Close": function(){                    
                                $(this).dialog('close');
                                return false;
                            }
                        }
                    });

                }else{
                    return false;
                }
            }); 

            $("#adduserframe").contents().find("img.addSweis").live("click",function(){
                alert('hey');
                var u_data = $(this).attr('rel');
                var rawParts = u_data.split("~~^^~~");
                $($("#adduserframe").contents().find("input#relative_id")).val(rawParts[0]);
                $($("#adduserframe").contents().find("input#first_name")).val(rawParts[1]);

                $(".ui-dialog-content").dialog('close');
            });

        });

1 个答案:

答案 0 :(得分:1)

See : Access child iFrame DOM from parent page

但只有当所有脚本和iframe位于同一个域时才会起作用。