我在一行中有一个表我使用带有“编辑”的超链接 我调用javascript函数(启动弹出窗口)
这是我的一个表格行
echo "<tr>";
echo '<td>' . $row['id'] . '</td>';
echo '<td>' . $row['firstname'] . '</td>';
echo '<td>' . $row['lastname'] . '</td>';
echo '<td>' .
'<a href=\"javascript:popup_window_show('#sample', { pos : 'window-center', width : '270px' });'>Edit</a>
. '</td>';
echo '<td><a href=\"javascript:popup_window_show('#sample', { pos : 'window-center', width : '270px' });'>Edit</a></td>';
我使用了两种编辑超链接的方法,第一种没有代码的概率,但没有显示单元格中的“编辑”..第二种方法有一些语法错误
下面是我在popup-window.js中的Js函数
function popup_window_show(/*selector,*/ args)
{
var pos = args.pos ? args.pos : null;
if (pos == 'window-center' )
{ x += $(document).scrollLeft()+($(window).width()-obj.width())*1/2; y += $(document).scrollTop()+($(window).height()-obj.height())*1/2; }
}
还有如何将行数据传递给js函数(比如firstname)
答案 0 :(得分:1)
我在http://jsbin.com/yafaxuma/3/edit创建了一个JSBin,它演示了如何将该行作为参数传递给函数。
还不清楚obj引用是什么,所以我评论说在JSBin中还评论了如何调试你的函数并看看发生了什么。
我在JSBin中使用jQuery将行作为参数传递,因为看起来你也用它来获取文档上的滚动位置。
JSBin在浏览器控制台中显示输出。如果您需要对代码进行更多调整,请告诉我一些您想要实现的内容,并且我可以修改代码以演示如何执行您想要的操作。
更新以添加PHP回送
echo "<tr>";
echo '<td>' . $row['id'] . '</td>';
echo '<td>' . $row['firstname'] . '</td>';
echo '<td>' . $row['lastname'] . '</td>';
echo '<td><a href="#" onclick="javascript:popup_window_show('#sample', { pos: 'window-center', width: '270px', row: $(this).parents('tr') });">Edit</a></td>';
echo "</tr>";
function popup_window_show(selector, args)
{
var pos = args.pos ? args.pos : null;
if (pos == 'window-center')
{
x += $(document).scrollLeft()+($(window).width()-obj.width())*1/2;
y += $(document).scrollTop()+($(window).height()-obj.height())*1/2;
}
var row = args.row;
}