JQuery .each обход елементов формы

Комментарии ()

.each( callback( [index, Element] ) ) – функция, вызываемая для каждого элемента в наборе jQuery. С каждой итерацией в качестве первого параметра index ей передается индекс текущего элемента в наборе Query (начиная с 0) как индекс текущей итерации цикла. Во втором аргументе Element передается ссылка на сам DOM элемент. Контекст this вызова функции также каждый раз ссылается на текущий элемент, задействованный в данной итерации (Element == this).


Читать далее

JQuery: ajax

Комментарии ()

Пример ajax'а на php & Javascript


Читать далее

FreeBSD: очиcтка tmp каталога при старте

Комментарии ()

Добавить в /etc/rc.conf

clear_tmp_enable="YES"

 


Читать далее

Приемы объектно-ориентированного проектирования.

Комментарии ()

Знаменитая книга коллектива авторов, известного под прозвищем «банда четырех». Эту книгу считают классической работой по паттернам (шаблонам) проектирования. Хотя эта книга, как и «Совершенный код», вовсе не о PHP, она будет очень полезна PHP -программисту, ведь паттерны проектирования – вещь, в общем-то универсальная и в PHP (с момента выхода PHP 5) их использование оправдано и необходимо. Единственное, что приступая к чтению необходимо учитывать – книга довольно сложная, читатель должен иметь опыт объектно-ориентированного программирования. 

Скачать

Читать на Wiki


Читать далее

Form - автодополнение

Комментарии ()

Автодополнение очень полезная и удобная фича. Дабы не плодить каждый раз рутинны по роботе с ней, в модуль Form добавлен функционал, поддерживающий ajax autocomplete на базе jQuery.

Каждое автодополнение характеризируется именем, и заранее описывается в form_get_autocomplete_ajax_post.php. Cам елемент ввода должен принадледать к классу autocomplete и иметь data-атрибут autocomplete-name который содержит имя автодополнения..

html

<input type="text" name="login" id="login" value=""   width="" style="" class="autocomplete" placeholder="введите Логин" data-autocomplete-name="users_login">

Требования к елементу ввода:

  • елемент ввода должен принадлежать к классу autocomplete ( class="... autocomplete ...")
  • Наличие атрибута  data-autocomplete-name c именем автодополнения

Пример использования

#elementInputText
$element = array(
    'attr' => array(
        'name' => null,
        'type' => 'text',
        'alias' => null,
        'value' => false,
        'disabled' => false,
        'placeholder' => null,
        'value' => null,
        'class' => 'autocomplete',
        'data' => array('autocomplete-name'=>'users_login')
    ),
    'group' => array(
        'help' => null,
        'help_type' => 'block',
        'label' => null
    )
);
$tpl->setVariable('elementName', $form->getElement($element));

Алгоритм работы

  • При вводе текста в елементе выполняется функция $(".autocomplete").autocomplete(файл system.js), которая выполняент ajax-запрос form_get_autocomplete_ajax.  Если ajax-запрос прошел успешно - мы видим варианты автодополнения. Передаються на сервер в запросе также все data атрибуты, в которых можно передать дополнительные параметры и использовать их
  • form_get_autocomplete_post.php - в целях безопасности, для каждого autocomplete описывается алгоритм выборки данных.

Читать далее

HTML-атрибуты data и jQuery

Комментарии ()

В HTML 5 введены атрибуты тегов data для хранения параметров и получения их в js.  Раньше использовали классы, ради сохранения информации в HTML, с целью последующего использования в js.


Читать далее

YiiTalk эпизод 6

Комментарии ()

Источник


Читать далее

Form - сортировка

Комментарии ()

 

При выводе информации, кроме постраничной навигации и фильтрации информации, есть необходимость в сортировке данных, для удобного поиска записей. 

Как и фильтр, сортировка  характеризуется названием формы (для каждой формы своя сортировка $_SESSION['form_sort']['{name}']). Данные сортировки хранятся в сессии ($_SESSION['form_sort']['{name}']=array(key=>value), где key - название поля в таблице БД по которому необходимо сортировать,  value - принимает значение up или down, тем самым указывая порядок сортировки.), что дает возможность сохранять работоспособность сортировки, даже при перезагрузке страницы. 


Читать далее

Form - фильтр

Комментарии ()

Як показала практика, скрипт-модуля повинен сам строїти потрібний sql-запрос, на основі отриманих даних від фільтра. Оскільки варіант із like'ами не підходить

При выводе информации, кроме постраничной навигации очень часто возникает необходимость отфильтровать даные по определенным признакам.

Фильтр характеризуется названием формы (для каждой формы свой фильтр $_SESSION['form_filter'][$name]). Заданые критерии хранятся в сессии ($_SESSION['form_filter'][$name]=array(key=>value), где key - название поля в таблице БД, а value соотвественно его значение.), что дает возможность сохранять работоспособность фильтра, даже при перезагрузке страницы. Елементы ввода фильтра работают в режима автодополнения.


Читать далее

JQuery UI Autocomplete Ajax

Комментарии ()

html

<link rel="stylesheet" type="text/css" href="{www}css/ui-lightness/jquery-ui-1.10.3.custom.min.css" />
<script src="{www}js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="{www}js/jquery-ui-1.10.3.custom.js" charset="utf-8" ></script>

<script>
$(document).ready(function(){
 
    $("#login").autocomplete({
	source: function(request, response) {
                  var id = this.element.attr('id');                
                  $.ajax({
                  url: "{www}",
                  data: { q: $("#login").val(),
		  mod: 'admin',
		  act: 'users_balans',
		  op: 'login_autocomplete'},
                  dataType: "json",
                  type: "POST",
                  success: function(data){
                      response(data);
                  }
                });
              },
      minLength: 1
    });
});
</script>

php

<?php

/* @var $sql Sql */
/* @var $error Error */
/* @var $user User */
/* @var $domain Domain */

#Заборона прямого дуступу
defined('ACCESS') or die('Restricted access');

$user->isPermitAuth();
$user->isPermitUserStatus('admin');

$return_arr=array();

$q = $_POST["q"];
if (!$q) return;

$query="select `login` from `users` where visible=1 order by `login`";
$res=$db->query($query);
$cnt=$res->numrows();
while ($row=$res->fetchrow())
{
	
        $login=$row['login'];
	$login2 = mb_convert_case($login, MB_CASE_LOWER, "UTF-8");
	$a=(strpos($login2,$q));
	if (($a===0)) {
		$return_arr[]=$login2;		
	}
}
echo json_encode($return_arr);
exit;


?>

 


Читать далее

Webit.in.ua 2013