使用JQuery.Ajax更改其他文件中的内容

时间:2012-04-05 08:50:02

标签: php jquery iframe

我在我的应用程序中使用iFrame,允许用户上传CSV文件,其中包含有关要添加到数据库中的新国家/地区的信息。我想要的是,只要将CSV文件处理到数据库中,就会使用新添加的CSV文件条目更新显示数据库中当前国家/地区的现有选择框。

我正在制作像

这样的ajax调用
    $(document).ready(function(){
    jQuery.ajax({
        type: "POST",
        url: "get_all_countries.php",
        data: '',
        cache: false,
        success: function(response)
        {
            $("#all_countries_select_box").html("<select name='all_countries' id='all_countries' MULTIPLE size='8' style='min-width:250px;'>"+response+"</select>");
        }
    });
});

我唯一的问题是id'all_countries_select_box'在另一个名为'manage_countries.php'的PHP文件中。有没有办法从iFrame(upload.php)中的文件更改该文件的内容。如果没有,那么什么是最好的解决方案

1 个答案:

答案 0 :(得分:1)

如果要从iframe内部访问父窗口,则应使用window.parent

 success: function(response)
    {
        var parentJQuery = window.parent.jQuery;
        parentJQuery("#all_countries_select_box").html("<select name='all_countries' id='all_countries' MULTIPLE size='8' style='min-width:250px;'>"+response+"</select>");
    }

如果您要修改的文件位于iframe中,则应该执行

 success: function(response)
    {

        $('#idoftheiframe').contains().find("#all_countries_select_box").html("<select name='all_countries' id='all_countries' MULTIPLE size='8' style='min-width:250px;'>"+response+"</select>");
    }