2011-01-03 3 views
3

私は2つのフレームを持っています.1つは左側にあり、もう1つは右側の他のフレームのフィールドの内容を検索します。ダイアログのために作成された##matchesFound divは、右側の検索フレームにあります。しかし、検索を実行し、モーダルをロードするjavascriptは左のフレームにあります。最後の結果は、ダイアログが右の代わりに左のフレームにロードされることです。Jquery UIダイアログが別のフレームにアクセスできない

特定のフレームでjquery UIダイアログを強制的に開く方法はありますか?いくつかの例は説明の編集のために不安定であり、Ajaxの戻り値とシリアル化はうまく動作します。

var criteriaPage = parent.leftSide.document; 
var searchPage = parent.rightSide.document; 
var postData  = $(searchPage ).serialize(); 
var matchesFound = searchPage.getElementById('matchesFound'); 

var count = 
     $.ajax({   
     type: "POST", 
     url: "ajax.url.php", 
     data: postData, 
     async: false 
     }).responseText; 

$(matchesFound).html(count); 
$(matchesFound).dialog({ 
    autoOpen: true, 
    position: [350,100], 
    height: 250, 
    width: 400, 
    modal: true 
}); 
$(matchesFound).dialog('open');   

答えて

0

これは、親レベルのリーダーでアクセスしていないという問題でした。見るためのタンク!修正:

var searchFrame = parent.right; 
var searchForm  = parent.sch_input.document.forms["openHouseSearch"]; 
var searchCriteria = $(searchForm).serialize(); 
var matchesFound  = parent.right.document.getElementById("matchesFound"); 

var count = 
     $.ajax({   
      type: "POST", 
      url: "ajax.url.php", 
      data: ohsData, 
      async: false 
     }).responseText; 
searchFrame.$(matchesFound).html(count); 
searchFrame.$(matchesFound).dialog({ 
    autoOpen: true, 
    height: 250, 
    width: 400, 
    modal: false 
}); 
+0

まだ2番目のウィンドウでダイアログを開くことができません。 "searchFrame。$(matchesFound).dialog"は意味がありません。 – caltrop

関連する問題