function indexDict(){ var options = { title: '指标选择', width: "1000", height: "500", url: ctx + "safety/tl/indexSelect", callback: doSubmit }; console.log(options.url); $.modal.openOptions(options); } function doSubmit(index, layero){ var body = layer.getChildFrame('body', index); $("#indexName").val(body.find('#indexName').val()); $("#relationChar").val(body.find('#relationChar').val()); $("#yearIndex").val(body.find('#yearIndex').val()); $("#feedbackTime").val(body.find('#feedbackTime').val()); $("#statisticsPattern").val(body.find('#statisticsPattern').val()); $("#measurementUnit").val(body.find('#measurementUnit').val()); layer.close(index); }使用这两个方法获取子页面内容时没有拿到子页面的index是什么原因
时间: 2024-04-12 19:31:38 浏览: 100
问题出现的原因是,`index`参数在`doSubmit`函数中并没有被正确传递。在调用`doSubmit`函数时,应该将`index`参数传递给它。
在你提供的代码中,`doSubmit`函数是作为回调函数传递给了`options`对象的`callback`属性。这意味着当回调函数被调用时,它会接收到一些参数。然而,在这种情况下,`options`对象并没有提供任何额外的参数给回调函数。因此,回调函数`doSubmit`接收到的唯一参数就是`layero`。
要解决这个问题,你需要修改代码,确保在调用`doSubmit`函数时,将正确的参数传递给它。可以通过使用匿名函数来达到这个目的。
修改后的代码如下所示:
```javascript
function indexDict() {
var options = {
title: '指标选择',
width: "1000",
height: "500",
url: ctx + "safety/tl/indexSelect",
callback: function(index, layero) {
doSubmit(index, layero); // 调用doSubmit函数,并传入index参数
}
};
console.log(options.url);
$.modal.openOptions(options);
}
function doSubmit(index, layero) {
var body = layer.getChildFrame('body', index);
$("#indexName").val(body.find('#indexName').val());
$("#relationChar").val(body.find('#relationChar').val());
$("#yearIndex").val(body.find('#yearIndex').val());
$("#feedbackTime").val(body.find('#feedbackTime').val());
$("#statisticsPattern").val(body.find('#statisticsPattern').val());
$("#measurementUnit").val(body.find('#measurementUnit').val());
layer.close(index);
}
```
这样修改后,应该可以正确获取到`index`参数了。
阅读全文