从表列调用javascript函数

时间:2014-05-17 10:46:30

标签: javascript php popupwindow

我在一行中有一个表我使用带有“编辑”的超链接 我调用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)

1 个答案:

答案 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;
}