$.acooly.divdialog.open打开弹出框后,如果需要将父页面数据传递给弹出框中,弹出框怎么接收值并复制到一个input上去
时间: 2024-03-12 14:46:16 浏览: 60
如果需要将父页面中的数据传递给弹出框中,并将其复制到一个input元素上,可以在弹出框的open事件处理函数中获取父页面传递的数据,并将其设置到对应的input元素中。具体来说,可以在父页面中将数据作为一个JavaScript对象传入options参数中的data属性中,在弹出框中通过$options.data来获取数据,然后将数据设置到input元素中即可。示例代码如下:
父页面:
```javascript
$.acooly.divdialog.open({
title: '弹出框标题',
width: 400,
height: 300,
modal: true,
resizable: false,
data: {
name: '张三',
age: 20
},
buttons: {
'确定': function() {
$(this).dialog('close');
}
},
open: function() {
// 弹出框打开时触发的事件
},
close: function() {
// 弹出框关闭时触发的事件
}
});
```
弹出框:
```javascript
$.acooly.divdialog.open({
title: '弹出框标题',
width: 400,
height: 300,
modal: true,
resizable: false,
open: function() {
// 弹出框打开时触发的事件
var data = $(this).dialog('option', 'data');
$('#name').val(data.name);
$('#age').val(data.age);
},
close: function() {
// 弹出框关闭时触发的事件
}
});
```
在上面的代码中,我们在父页面中将数据{name:'张三', age:20}作为一个JavaScript对象传入了options参数中的data属性中。在弹出框的open事件处理函数中,我们通过$(this).dialog('option', 'data')方法获取到这些数据,并将其设置到id为name和age的input元素中。
需要注意的是,为了能够获取到父页面传递的数据,我们需要在弹出框的open事件处理函数中获取数据。这是因为在打开弹出框时,弹出框还没有被渲染到页面中,因此无法通过jQuery选择器来获取元素,只能在open事件中获取。
阅读全文