Одна функция с keyup, для разных input
Доброго времени суток. Собственно даже не знал как правильно назвать тему. Дело в том что есть ф-ия:
$(document).ready(function() { var timeOut = null; $("input#search").keyup(function() { setTimeout(search($(this).attr('class')),5000); }); function search(mode) { timeOut = null; var text = $("#search").val(); var minimum = 3; var maximum = 255; if (text.length > minimum && text.length < maximum) { ajaxModule.query({ action : 'search', mode : mode, text : text, beforeSend: function(html) { $('#search-r-' + mode).html(''); $("#search-text").show(); } }); ajaxModule.resoult.search = function(text){ $('#search-r-' + mode).show(); $('#search-r-' + mode).html(text.html); }; } return false; }; }); Суть ее в то что если есть input и id search то при вводе отсылается AJAX запрос и выводит его в div и id search-r- + class из imput в котором мы вводим текст. Дело в том что все работает отлично, до тех пор пока на страницы, не выводится еще один input с id search но другим class для вывода другой информации. Вопрос: как сделать так что бы ф-ия была как бы универсальнее? Т.е. если у нас есть, на одной странице: <input id="search" class="country" type="text" name="user" placeholder="Страна" value=""/> <div id="search-r-country"></div> <input id="search" class="sity" type="text" name="user" placeholder="Город" value="" /> <div id="search-r-sity"></div> то при вводе текста, отображалась разная информация для разного текста. Заранее благодарю за помощь. |
Цитата:
Делать через класс <input class="search" type="text" name="user" placeholder="Страна" value=""/> <div class="search-r-country"></div> <div class="search-text"></div> <input class="search" type="text" name="user" placeholder="Страна" value=""/> <div class="search-r-country"></div> <div class="search-text"></div> Делать функцию .keyup по классу Переопределять текущий объект в переменную var TH=$(this); Далее представлять подставляемые селекторы в Аякс из Аякса через эту переменную 16 beforeSend: function(html) { 17 TH.next('div').html(''); 18 TH.next('div').next(".search-text").show(); 19 } Удобнее каждый новый блок с HTML обрамить общей родительской оберткой, тогда поиск элементов в текущем блоке удобнее делать исходя из общего родителя |
Deff,
спасибо большое, так и сделаю. Есть еще вопрос в догонку но уже не по этой теме. Есть ф-ия: $('select[name="names"]').change(function(){ var element = $(this).val(); }); Собственно она определяет выбранный нами элемент, из селектора. Есть кнопка: <span class="button" onclick="get_send_names('faces', 1);">Подтвердить</span> она отправляет данные на сервер, тоже на аяксе. но надо сделать так чтобы значение 1 в get_send_names('faces', 1) менялось на значение из селектора value т.е. если мы сначало выбираем из селектора значение с value=6 то get_send_names('faces', 1) превращается в get_send_names('faces', 6)б ну и т.д. и т.п. |
$(document).ready(function(){}) $(function(){}) к слову |
godofjavascript,извините, можно хотя бы пример?
|
Часовой пояс GMT +3, время: 23:03. |