Использование #urls в jquery - PullRequest
2 голосов
/ 09 мая 2011

Мне удалось запутаться здесь. В основном я использую jQuery, чтобы превратить div в ссылку с;

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

Это работает нормально, но я использую базу данных .php / MySQL, и я хочу иметь возможность передать идентификатор продукта в URL, чтобы он перешел на /product.php#$id. Обычно я просто использовал бы теги <a> в своем php-коде, но используя метод Javascript, я не могу подключить переменную PHP к URL-адресу.

Возможно, это не имеет особого смысла, но это был долгий день, я рад ответить на любые вопросы, если немного трудно разобрать, о чем я здесь прошу.

Ответы [ 3 ]

1 голос
/ 09 мая 2011

Выдать идентификатор продукта как часть разметки 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);
});
0 голосов
/ 09 мая 2011

Если вы поместите идентификатор в пользовательский атрибут, вы можете использовать его для события click:

Например:

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

, затем в вашем обработчике событий click вы можете использовать метод attr jQuery для получения значения.

0 голосов
/ 09 мая 2011

Ну, вам нужно иметь идентификатор где-то в вашей разметке.Если .product равно <a>, вы можете назначить каждому полный URL, например:

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

Итак, в вашем коде jquery:

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

(Не проверено)

ДОБАВЛЕНО: Отсутствует return false;

Это также будет работать, если у пользователя отключен js, поскольку он будет переходить на нужную страницу вместо открытия ее в виде всплывающего окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...