【问题标题】:Calling javascript function from table column从表列调用javascript函数
【发布时间】:2014-05-17 10:46:30
【问题描述】:

我在一行中的一列中有一个表格我使用带有“编辑”的超链接 我在哪里调用一个 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 函数(比如名字)

【问题讨论】:

  • ""?你问的第一件事是什么?什么不工作,你卡在哪里了?
  • 如果在单引号'中使用双引号("),则不必像escape这样\"

标签: javascript php popupwindow


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    相关资源
    最近更新 更多