Здравствуйте подскажите пожалуйста каким образом можно привязать autocomplete.js к полю.
Есть такая задача: пользователь вбивает наименование и ему автоматически подтягиваются снизу подходящие значения. В доп. действии данный функционал у меня работает но как его встроить в обычное поле при стандартном добавлении?
Привязать к стандартному полю Кб автозаполнение
Автор aleks.goodcolor, 26 дек. 2014 17:15
Сообщений в теме: 7
#1
Отправлено 26 Декабрь 2014 - 17:15
#2
Отправлено 28 Декабрь 2014 - 15:39
Есть же в настройках любого поля возможность прикрепить к нему js код.
#3
Отправлено 13 Январь 2015 - 11:39
Как правильно формировать код js в этом поле? Нужны теги <script> ?
#4
Отправлено 13 Январь 2015 - 16:52
Я хочу вставить вот такой код - но я так понимаю что нельзя обычные вычисления запихнуть в это поле
function onchange_{$one_field.id}()
{
$res3 = data_select(351,"`status`=0 AND `f11310`!=",$ID," AND `f11320`!=",$ID," AND `f11330`!=",$ID," AND `f11340`!=",$ID," AND `f11350`!=",$ID," AND `f11360`!=",$ID," AND `f11370`!=",$ID," AND `f11380`!=",$ID," AND `f11390`!=",$ID," AND `f11400`!=",$ID," ");
While($row3 = sql_fetch_assoc($res3))
{
$list2 .= "'".$row3['f5251']."',";
}
//Код первой вкладки (стандартное использование)
$("#value{$one_field.id}").autocomplete({source:[$list2]})
$("#value{$one_field.id}").autocomplete({minLength:2})
}
addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
#5
Отправлено 13 Январь 2015 - 16:59
Разумеется нельзя, "вычисления" - это php код на строне сервера, js же выполняется на стороне браузера, не говоря о том что это другой язык. Тут либо используется ajax для подгрузки js-ом данных с сервера (сложный вариант, единственный в случае динамической подгрузки), либо скрытое вычисляемое поле, из которого js берет нужные данные (более простой вариант). В вашем случае пойдет и второй, т.к. list2 можно заранее сформировать, как я понял.
#6
Отправлено 13 Январь 2015 - 17:07
Понятно, а как обратиться к значению другого поля? например я сделаю
var text = document.getElementById("value{$one_field.id}")
только мне вместо $one_field.id нужно реальный id поля найти?
#7
Отправлено 13 Январь 2015 - 18:00
Да, именно. ID поля используется стандартный, такой же как и в вычислениях, только не из переменной, а конкретное число. И еще вы свойство value пропустили:
var text = document.getElementById("value123").value;
#8
Отправлено 14 Январь 2015 - 09:06
Спасибо за помощь - буду пробовать.
Количество пользователей, читающих эту тему: 4
0 пользователей, 4 гостей, 0 анонимных













