这是主页上的表格:
<table>
<th>Apple</th>
<th>Ball</th>
<tr>
<td><input type="text" /></td>
<td><input type="button" /><a href="#"></a></td>
</tr>
<tr>
<td><input type="text" /></td>
<td><input type="button" /><a href="#"></a></td>
</tr>
</table>
这是窗口对话框上的表格:
<table>
<th>Apple on Dialog</th>
<th>Ball on Dialog</th>
<tr>
<td>A1</td>
<td>A2</td>
<td>A3</td>
</tr>
<tr>
<td>B1</td>
<td>B2</td>
<td>B3</td>
</tr>
</table>
看到这个FIDDLE,不是为了工作代码,而是为了想要的结果页面,因为我不知道如何在jsfiddle上创建窗口对话框,以便我的小提琴。谢谢大家。
答案 0 :(得分:1)
请检查此JSFIDDLE
您必须将点击的btn标识保存/传递给对话框,以便它知道复制和粘贴内容的位置。希望jsfiddle给你一些想法
$(document).ready(function(){
$('#1, #2').click(function(){
window.clickedbtnid = $(this).attr('id');
$( "#table_dialog_1" ).dialog();
});
$( "#table_dialog_1" ).find('td').click(function(){
$('#'+window.clickedbtnid).parent().prev().find('input').val($(this).text());
$( "#table_dialog_1" ).dialog('close');
})
});
答案 1 :(得分:1)
您需要为第一个表格上的按钮添加点击事件,并将TD
文本分配给按钮同一行的输入。
$(document).ready(function(){
$('#1, #2').on('click', function(){
$("#table_dialog_1").dialog();
var id = $(this).attr('id');
$('#table_dialog_1 td').unbind('click').on('click', function(){
console.log('#input_'+id);
$('#input_'+id).attr('value', $(this).html());
$('#table_dialog_1').dialog('close');
});
});
});
我unbind
第一次点击事件中的点击事件,以删除之前的事件。
查看完整的working example
如果您需要使用弹出窗口而不是对话框,请按照此simple tutorial
进行操作<强>更新强>
为了使用window.open()
,在父窗口中输入以下javascript代码:
$('.clickMe').click(function(){
clickedButton = this;
$( "#table_dialog_1" ).dialog();
window.button_clicked_id = $(this).attr('id');
});
这个代码在子窗口中。
var the_button = window.opener.button_clicked_id;
var clickedButton = $('#'+the_button, window.opener.document);
$( '#table_dialog_1 tr').click(function(){
var tds = $(this).children();
$(clickedButton).parent().prev().find('input').val(tds.eq(0).html());
$(clickedButton).next('a').text(tds.eq(2).html()+','+tds.eq(1).html());
$( "#table_dialog_1" ).dialog('close');
});