在jquery中使用#urls

发布于 2024-11-05 16:13:01 字数 381 浏览 1 评论 0原文

我在这里让自己感到困惑。基本上我使用 jQuery 将 div 转换为链接;

$('.product').click(function() {
window.open('product.php','jav');
}); 

这工作正常,但我使用的是 .php/MySQL 数据库,并且我希望能够将产品 ID 传递到 url 中,以便它转到 /product.php#$id。通常,我只在 php 代码中使用 标签,但使用 Javascript 方法时,我无法将 PHP 变量插入 URL。

可能没有多大意义,但这是漫长的一天,如果有点难以理解我在这里要求的内容,我很乐意回答任何问题。

I've managed to confuse myself here. Basically I am using jQuery to turn a div into a link with;

$('.product').click(function() {
window.open('product.php','jav');
}); 

This works fine but I am using a .php/MySQL database and I want to be able to pass the product ID into the url so it goes to /product.php#$id. Normally I'd just use <a> tags in my php code but using the Javascript method I can't plug in the PHP variable to the URL.

Probably not making a lot of sense but it's been a long day, happy to answer any questions if it's a little difficult to make out what I'm asking for here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

述情 2024-11-12 16:13:01

将产品 ID 作为 div 标记的一部分发出。这里我展示了两个选项:data- 属性和 div 的内容。我更喜欢 data- 属性,因为您的内容可能已经定义了。您可以在 jsfiddle 上查看以下所有内容。

<div class="product" data-id="42">42</div>

现在在构建 URL 时访问它:

$('.product').click(function() {
    //window.open('product.php','jav');

    var id = $(this).data('id'); // Alternatively use .attr('data-id')
    alert('product.php#' + id); 

    var text = $(this).text();
    alert('product.php#' + text);
});

Emit the product ID as part of the div's markup. Here I've shown two options: a data- attribute and the contents of the div. I'd prefer the data- attribute since your content is probably already defined. You can see all that is below on jsfiddle.

<div class="product" data-id="42">42</div>

Now access it when building your URL:

$('.product').click(function() {
    //window.open('product.php','jav');

    var id = $(this).data('id'); // Alternatively use .attr('data-id')
    alert('product.php#' + id); 

    var text = $(this).text();
    alert('product.php#' + text);
});
萌面超妹 2024-11-12 16:13:01

如果将 id 放入自定义属性中,则可以在单击事件中提取它:

例如:

<div class=".product" urlid="someproductid"></div>

然后在单击事件处理程序中,您可以使用 jQuery 的 attr 方法来获取值。

If you put the id in a custom attribute you can pull it on the click event:

For example:

<div class=".product" urlid="someproductid"></div>

then later in your click event handler you can use jQuery's attr method to get the value.

蓬勃野心 2024-11-12 16:13:01

好吧,您需要在标记中的某个位置包含 id。如果 .product,您可以为每个产品分配完整的 url,例如:

因此,在您的 jquery 代码中:(

$('.product').click(function() {
     window.open($(this).attr('href'),'jav');
     return false;
}); 

未测试)

添加:
Missing return false;

如果用户禁用了 js,这也将起作用,因为它将导航到正确的页面而不是作为弹出窗口打开。

Well, you need to have the id somewhere in your markup. If .product are <a>, you can assign to each one the complete url, like:

<a href="product.php?id=333">

So, in your jquery code:

$('.product').click(function() {
     window.open($(this).attr('href'),'jav');
     return false;
}); 

(Not tested)

ADDED:
Missing return false;

This will also works if user has js disabled, as it will navigate to the right page instead of opening it as popup.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文