我使用backbone.js和backbone-form(感谢Charles Davison创建这个伟大的工具)。
我在彩盒对话框中打开骨干表格,它运行正常。这是代码:
[...]
this.form=new Backbone.Form({
data: json_infos.RI, //Data to populate the form with
schema: self.getSchema(json_infos.RI)
}).render();
$(this.form.el).prepend("<center><b>"+self.renderIMG()+self.model.get('ri_name')+"</b></center>").append('<div id="updatebtn">OK, Save all Changes!</div>');
$(this.form.el).delegate('#updatebtn','click', this.saveRI);
$.colorbox({
html:self.form.el,
transition: "elastic",
speed:400,
scrolling: true,
width: "650px",
height: "600px"
});
},
在这个包含表单的弹出框中我遇到了问题:当我想添加/删除/更新列表元素时,会打开另一个jquery对话框,但不在COLORBOX 。< / p>
我阅读了很多关于DOM遍历,选择器的jquery文档,并且我还个性化了我认为应该修改的代码,它位于jquery-ui-editors.js插件中,第348行,'openEditor'函数
openEditor: function(data, callback) {
var self = this,
schema = this.schema,
listType = schema.listType || 'Text';
var editor = Form.helpers.createEditor(listType, {
key: '',
schema: schema,
value: data,
}).render();
var container = $(this.editorTemplate());
//~ $(self.el).append($('.bbf-list-editor', container).html(editor.el));
$('.bbf-list-editor', container).html(editor.el);
var close = function() {
container.dialog('close');
editor.remove();
container.remove();
};
$(container).dialog({
resizable: false,
modal: true,
width: 500,
title: data ? 'Edit item' : 'New item',
buttons: {
'OK': function() {
callback(editor.getValue());
close();
},
'Cancel': close
}
});
},
在后面这段代码中,我不明白我们在哪里以及如何对javascript说“请在body标签下创建元素然后弹出”。
我确实需要打开它而不是在'body'上,而是在触发对话框的元素的父元素上打开它。
任何人都可以帮助我吗? 如果您需要更多细节,我很乐意添加它们。 提前谢谢。
------------ UPDATE ------------------
我使用z-index解决了这个问题,正如Sander所建议的那样。
必须修改z-index 不在CSS中,而是在打开弹出窗口的代码部分。所以只需添加
zIndex: 100000000,
在jquery-ui-editors第371行的jquery-ui弹出选项中。
答案 0 :(得分:0)
我使用z-index解决了这个问题,正如Sander所建议的那样。
必须修改z-index不在CSS中,而是在打开弹出窗口的代码部分。所以只需添加
zIndex:100000000, 在jquery-ui-editors第371行的jquery-ui弹出选项中。