2012-05-10 2 views
0

Можно ли отправить с PHP данные, которые могут быть получены с помощью jQuery данные функция?
Я знаю, как отправлять свойства и атрибуты, но я хочу отправить объекты данных.
Могу ли я отправлять данные JavaScript из PHP в Html?

Другими словами, как я должен визуализировать div для получения данных с помощью jQuery?

<div id="div" <!-- Whet should I put here??-->></div> 

ответ

0

Основываясь на том, где вы написали данные в DIV я полагаю, что вы хотите использовать атрибуты на вашем DIV

так:

<div id="my_div" data-my-attribue="value"></div> 

Тогда вы можете получить это значение в JQuery печатаю это

$('#my_div').attr('data-my-attribue'); 

(Это справедливо в HTML 5)

+0

вы также можете напрямую использовать метод .data() jQuery: $ ('# my_div'). Data ('my-attribute'); – Clement

+0

@Clement да я посмотрел на другой ответ, и я только что увидел это, я узнал что-то новое :) Спасибо;) –

2

Да, вы можете. Но зачем писать в div? Кодируйте объект PHP как JSON и просто печатайте его непосредственно в JavaScript внутри тега <script>.

+0

Многие теги на странице встретишь Ajax, я не могу это сделать – skafandri

+0

Да, вы можете. Если вы просто добавляете входящие данные в DOM, нет никакой разницы в добавлении тегов 'div' или' script'. И отправка JSON обеспечит еще более чистый способ анализа ответа с помощью 'JSON.parse' без дополнительной разметки или цитирования HTML. –

+0

Я имею в виду, что у каждого элемента есть свои собственные связанные данные, было бы очень неприятно отображать переменные javaScript в соответствующий элемент. Не проще ли использовать $ ('element'). Data ('someId')? ... – skafandri

2

Try:

<div id="unique-id" data-hello="<?php echo "world" ?>"></div> 

alert($('#unique-id').data('hello')); // world 

Отъезд: http://api.jquery.com/jQuery.data/

Вы также можете:

var php_data = <?php json_encode(array('hello', 'world')); ?>; 

alert(php_data); // hello,world 
0
<div id="myId" data-nameitwhateveryoulike="add your data here">Blah blah</div> 

можно назвать атрибуты данных, что вам нравится, вы просто должны поставить перед ним "данных-", как показано выше.

+0

whoops забыл отступать код ... thats fixed now – hammerbrostime

1

Да, вы можете,

<div id="div" data-test="test1"></div> 
alert($('#div').data('test'));// will show 'test1' 
0

Вы можете использовать вход типа скрытое поле для отправки и получения из PHP ДАННЫЕ, хотя лучшей практикой является использование Ajax.

<input type='hidden' value='myvalue' id='mykey'/> 

<script> 
var mykey = document.getElementById("mykey").value; 
</script> 
Смежные вопросы