我有两个框架,一个位于左侧,用于搜索右侧另一个框架中的字段内容。我为对话框创建的#matchesFound div 位于右侧的搜索框架上。但是,执行搜索并加载模式的 JavaScript 位于左侧框架中。最终结果是对话框加载到左框架而不是右框架上。
有没有办法强制 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');
最佳答案
事实证明,这只是一个无法通过父级引导访问它的问题。坦克寻找!修复:
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
});
关于javascript - Jquery UI 对话框无法访问另一个框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4585465/