Я добавил в приложение функцию всплывающей подсказки, потому что части системы заказов могут запутать некоторых наших новых пользователей, это просто jQuery:
$(document).ready(function(){
$('input, select, textarea').focus(function(){
$class = $(this).attr('title');
$('.tooltip_' + $class).fadeIn(500);
});
$('input, select, textarea').blur(function(){
$class = $(this).attr('title');
$('.tooltip_' + $class).fadeOut(500);
});
});
Вот пример того, как я использую это с помощником формы:
<?php echo $form->input('reference', array('title' => 'reference', 'after' => '<div id="tooltip" class="tooltip_reference">This is your order reference, it should be unique to your customer.<span class="pointer"></span></div>')); ?>
Первоначально это работает, однако, в своем действии я использую несколько экземпляров $ ajax-> наблюдаемое поле для загрузки дополнительных полей выбора, эти поля выбора игнорируются фокусом jQuery и размытием несмотря на то, что генерируется HTML правильный.
См. Ниже:
<?php echo $form->input('Order.option.'.$choice['Choice']['option_id'].'.'.$key, array('options' => $choices, 'title' => $value['Tip']['class'], 'after' => '<div id="tooltip" class="tooltip_'.$value['Tip']['class'].'">'.$value['Tip']['tip'].'<span class="pointer"></span></div>')); ?>
Я не слишком уверен, почему это происходит, я загрузил файл jquery, используя следующее в исходном представлении (не представления, загруженные через ajax), чтобы оно появилось в заголовке
<?php echo $javascript->link(array('jhint'), false); ?>
Буду признателен за любую помощь.