通常有一种场景:
在父页面打开一个子页面,将子页面选中的某些数据传递给父页面,父页面再对这些数据进行处理
这种场景可以用window.open().
代码:
父页面
<div onclick="goChild()">
子页面的name
</div>
<input id="hidden1" name="hidden1" type="hidden" />
<script>
//打开子页面方法
function goChild(){
...
window.open( 'url' , 'name' , 'features' );
}
//子页面调用此方法
function dealData( data ){
if( typeof data != 'undefined' && data != null && data != '' ){
$('#hidden1').val( data );
}else{
alert('error');
}
}
</script>
子页面
<div onclick="returnData()" >
确定
</div>
<script>
returnData(){
...
//获取到子页面的数据,比如复选框数据的id啊啥的
//我这里就简单写写了
//我们主要看一下用法
var data = '';
$('...').each(function(i,element){
if( i == 0 ){
data += $(this).val();
}else{
data += ',' + $(element).val();
}
});
//注意看这里,这行代码的意思就是调用父窗口的dealData方法
window.opener.dealData( data );
window.close();
}
</script>