Из массива ключ достается по названию переменной и названию ключа в квадратных скобках, типа так: $var['key']
Из объекта ключ достается через стрелку и название поля объекта, типа так: $obj->field.
В Вашем случае есть массив, в котором по ключу pa_%d1%86%d0%b2%d0%b5%d1%82 лежит объект, в котором есть поле data, внутри этого поля снова массив, кажется так:
$arr['pa_.......']->data['options'], по идее получим массив options. В php не силен, честно, меня смущает только протектед поле, а так, должно работать.
Евгений Уланов, событие keyup происходит в момент нажатия любой клавиши на клавиатуре, причем не только текстовой, а вставка происходит когда вставляется что-то из буфера. Событие change происходит при любом изменении поля ввода, и при вставке и при наборе текста, при этом не важно каким образом текст меняли, функция-обработчик будет работать только тогда, когда реально надо, а не при любом нажатии клавиш.
Frendy,
на счет transition, этот API еще в статусе working draft, и не работает, зато с анимацией все ок
Можно через анимацию сделать, на события animation start и animationend повесить что-то.
VitalyDmi, с кодом все то, там все как бы ок, но его нельзя перенести просто скопировав)
В html там код написанный на шаблонизаторе pug, он после написания обрабатывается через спец утилиту, которая сделает из него html, тоже самое и с CSS, там Stylus. В JS во-первых подключена сторонняя бибилиотека + видимо тоже сборка через утилиты. Итого, чтобы это взять и перенести к себе надо:
1. Поставить Node,js.
2. Разобраться с Gulp, например.
3. Настроить сборку Pug и Stylus.
4. Разобраться с Webpack, найти подключаемый модуль и собрать все это тем самым Webpack.
Вариант альтернативный: разобраться поглубже с Webpack и собрать это все с помощью одного webpack, но там еще более дремучий лес, еще extractPlugin нужны)