3

アプリケーションで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)にあるファイルから変更する方法はありますか?そうでない場合、可能な限り最良の解決策は何でしょうか

4

1 に答える 1

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>");
    }
于 2012-04-05T08:53:29.617 に答える