Есть массив:
$arr = [
['id'=>101, 'note'=>'Содержание_1'],
['id'=>108, 'note'=>'Содержание_2'],
['id'=>258, 'note'=>'Содержание_3']
];
На странице php генерируются радиокнопки значение которых равно элементу 'id' из массива $arr.
Вот примерный код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script>
$(function(){
$('.id').click(function(){
$('.note').html($(this).val());
});
});
</script>
</head>
<body>
<?php
$arr = array(
array('id'=>101, 'note'=>'Содержание_1'),
array('id'=>108, 'note'=>'Содержание_2'),
array('id'=>258, 'note'=>'Содержание_3')
);
?>
<input class="id" name="id" type="radio" value="<?=$arr[0]['id']?>" />punkt 1
<input class="id" name="id" type="radio" value="<?=$arr[1]['id']?>" />punkt 2
<input class="id" name="id" type="radio" value="<?=$arr[2]['id']?>" />punkt 3
<div class="note"></div>
</body>
</html>
Сейчас у меня при выборе радиокнопки в div class="note" попадает значение 'id'.
Можно ли с помощью javascript извлечь значение 'note' из массива $arr, у которого 'id' равно значению выбранной радиокнопки и вывести в div class="note"
Можно сделать таким образом, но все данные будут видны в DOM'e
<input class="id" name="id" type="radio" value="<?=$arr[0]['id']?>"
data-array="<?=$arr[0]['note']?>"/>punkt 1
<script>
$(function(){
$('.id').click(function(){
$('.note').html($(this).attr('data-array'));
});
});
</script>
Вы не сможете извлечь данные из php-массива по той простой причине, что этот массив существует только в момент исполнения php-скрипта. Как только скрипт отработал и отдал отрендеренную страницу веб-серверу для передачи клиентскому браузеру - массив исчезает. (не будем сейчас рассматривать кеширования и сессии, так как по сути те-же яйца, только в профиль)
Решений тут ровно два:
А в чем проблема при получении id
сделать вызов php
скрипта через ajax
, передать в запросе id
и получить соответствующее значение note
?
В данном случае я вижу только такое решение, при условии, что вы не хотите выводить значение note
на страницу.
Другое решение предложил @lyhoshva - использовать data-class
, также возможно выводить значение note
в input type="hidden"
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здравствуйте, прошу помочь разобраться и понять следующий примерЯ нуждаюсь в объяснении данного кода, желательно прокомментировать построчно
В моем приложении node js понадобилась отправка сообщений на websocketЯ решил что надо написать клиента websocket серверу
Вот код, генерируем строки, в строках по 4 ячейки в последней ячейке кнопка с с вызовом модального окна, вот когда на нее нажимаешь открываются...