Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用html标记属性中的URL打开jQuery popupWindow?_Jquery_Popup - Fatal编程技术网

如何使用html标记属性中的URL打开jQuery popupWindow?

如何使用html标记属性中的URL打开jQuery popupWindow?,jquery,popup,Jquery,Popup,我正在使用这个jQuery插件:它看起来很棒。我的jQuery代码附加到库存表中的表行,如下所示: $("tr").popupWindow({windowURL:$(this).attr("url"),windowName:'Details', centerScreen: true}); echo "<tr url=\"details.php?id=$idNum\"><td>$idNum</td>"; echo "<tr id=\"$idNum\"

我正在使用这个jQuery插件:它看起来很棒。我的jQuery代码附加到库存表中的表行,如下所示:

$("tr").popupWindow({windowURL:$(this).attr("url"),windowName:'Details', centerScreen: true});
echo "<tr url=\"details.php?id=$idNum\"><td>$idNum</td>"; 
echo "<tr id=\"$idNum\"><td>$idNum</td>";
echo "<script type=\"text/javascript\">
    $('#$idNum').popupWindow({
    windowURL:'details.php?tag=$idNum'
    });</script>";
HTML(来自PHP)如下所示:

$("tr").popupWindow({windowURL:$(this).attr("url"),windowName:'Details', centerScreen: true});
echo "<tr url=\"details.php?id=$idNum\"><td>$idNum</td>"; 
echo "<tr id=\"$idNum\"><td>$idNum</td>";
echo "<script type=\"text/javascript\">
    $('#$idNum').popupWindow({
    windowURL:'details.php?tag=$idNum'
    });</script>";
echo“$idNum”;
无论出于何种原因,表达式$(this.attr(“url”)将显示为未定义。如有任何建议,将不胜感激,谢谢

编辑1:也许这与this关键字有关,是一个范围问题

编辑2:我决定将jQuery代码从下一个移到下一个,这似乎是一个糟糕的解决方案,但它绕过了任何范围问题并起作用。现在看起来是这样的:

$("tr").popupWindow({windowURL:$(this).attr("url"),windowName:'Details', centerScreen: true});
echo "<tr url=\"details.php?id=$idNum\"><td>$idNum</td>"; 
echo "<tr id=\"$idNum\"><td>$idNum</td>";
echo "<script type=\"text/javascript\">
    $('#$idNum').popupWindow({
    windowURL:'details.php?tag=$idNum'
    });</script>";
echo“$idNum”;
回声“
$('#$idNum')。popupWindow({
windowURL:'details.php?标记=$idNum'
});";

谢谢你帮我找到正确的解决方案。。。。如果我最终发现了它,我会回来更新它,但现在这个乱七八糟的东西会存在。

不要创建非标准属性。使用HTML5的
数据-
属性,这些属性用于存储内容:

$("tr").popupWindow({windowURL:$(this).data("url"),windowName:'Details', centerScreen: true});
并更改您的PHP:

echo "<tr data-url=\"details.php?id=$idNum\"><td>$idNum</td>"; 
echo“$idNum”;

给定提供的代码,无法确定调用“this”的上下文。您肯定试图使用它来引用DOM元素,但它返回“undefined”,因为“this”实际引用的内容没有“url”属性。如果您将一个类或ID分配给一个标记,您可能会获得更大的成功

以下是一些经过修改的HTML(来自PHP):


我还没有测试过,但我想这对你有用。让我知道它是如何运行的。

好的,关于html5数据属性的好提示,但这仍然不起作用。应该这样做。检查其他jQuery。另外,尝试用
循环遍历所有
元素,看看使用它是否有帮助。你有什么错误吗?不确定。我没有收到任何错误,只是一个空白的弹出窗口(即windowURL未定义)。我仍然认为这是某种范围问题。我将用我的kludge解决方案更新我的原始帖子。使用id可以处理特定的元素,但我的表中有509行,我需要它来处理所有行。不,不起作用。我再次认为这是因为在我的数据库中,jQuery无法访问作用域中的$idNum。我正在用我的最终解决方案更新原始帖子,它绕过了范围界定问题(这完全是一个难题)