2012-01-13 2 views
0

Я использую jquery, чтобы сделать ajax вызовы в базу данных, которая отображает возвращенные записи в div. Это отлично работает, но я использую взломанный файл, который прерывает проверку w3c, чтобы передать параметр для вызова ajax (т. Е. Идентификатор для получения записей из базы данных)Добавить параметры html для jQuery ajax data

Мой список гиперссылок генерируется в php путем получения действительные категории из базы данных и вывод гиперссылок с такими параметрами, как «blah.php? cat_id = 6». Хак должен просто иметь cat_id = x внутри каждого из тегов (где x - идентификатор категории), который jquery затем переходит к бэкенду в вызове ajax.

Есть ли способ получить эти данные для вызова ajax, не устанавливая его внутри тега, как я? Я не могу использовать jquery для создания списка, если гиперссылки, потому что я хочу, чтобы он плавно переходил, когда JS отключен. Иды не будут выходить из базы данных последовательно, поэтому, поскольку функция jquery data(), кажется, способ, я не могу понять, как получить идентификатор категории для назначения каждому элементу DOM (без беспорядочного разбора регулярных выражений по параметрам URL-адреса из строки)

Благодаря Аарон

ответ

4

Вы должны использовать HTML5 data-* атрибуты:

<a data-cat-id="6" href="..."> 

Вы можете прочитать его с помощью JQuery в data API:

$(this).data('cat-id') 
+0

И это безопасно, даже если doctype не является HTML 5. – dgvid

+0

И как это будет работать, если js отключен? Как он сможет передать 'cat_id' скрипту php. –

+0

@ Interstellar_Coder: Он также нуждается в нем в 'href'; нет никакого способа обойти это. Дублирование идентификатора лучше, чем анализ URL-адреса и добавление зависимости от форматов URL. – SLaks

Смежные вопросы