Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.07.2013, 07:23
Новичок на форуме
Отправить личное сообщение для Kuzia Посмотреть профиль Найти все сообщения от Kuzia
 
Регистрация: 12.07.2013
Сообщений: 3

Доп. функционал к typeahead
Здравствуйте! Решил воспользоваться typeahead из Bootstrap. Свои штатные функции она успешно выполняет. Но мне хотелось бы расширить ее функционал. А именно, чтобы при выборе значения из выпадающего списка в соседнее поле вставлялось значение, которое соответствует предыдущему выбору. Поясняю.
В форме есть поля Имя и телефон. При выборе конкретного имени должен выводится его телефон. В базе есть поля имя (name) и телефон (phone). Как можно реализовать эту задачу?
Ответить с цитированием
  #2 (permalink)  
Старый 12.07.2013, 08:22
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

код в студию
Ответить с цитированием
  #3 (permalink)  
Старый 12.07.2013, 11:24
Новичок на форуме
Отправить личное сообщение для Kuzia Посмотреть профиль Найти все сообщения от Kuzia
 
Регистрация: 12.07.2013
Сообщений: 3

AJAX-запрос
$(function() {
	$('#client_name').keypress(function()
	{
		var self = $(this);

		$.post("<?php echo site_url('clients/ajax/name_query'); ?>", {
			query: self.val()
		}, function(data)
		{
			var json_response = eval('(' + data + ')');
			self.data('typeahead').source = json_response;
		});
	});
});

PHP
public function name_query()
    {
        // Load the model
        $this->load->model('clients/mdl_clients');

        // Get the post input
        $query = $this->input->post('query');

        $clients = $this->mdl_clients->select('client_name, client_phone')->like('client_name', $query)->order_by('client_name')->get(array(), FALSE)->result();

        $response = array();

        foreach ($clients as $client)
        {
            $response[] = $client->client_name;
        }

        echo json_encode($response);
    }


Движок FusionInvoice
Ответить с цитированием
  #4 (permalink)  
Старый 12.07.2013, 11:56
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

а что именно то не получается?
Ответить с цитированием
  #5 (permalink)  
Старый 12.07.2013, 11:59
Новичок на форуме
Отправить личное сообщение для Kuzia Посмотреть профиль Найти все сообщения от Kuzia
 
Регистрация: 12.07.2013
Сообщений: 3

Необходимо, чтобы при выборе имени вставлялся телефон. Запрос к базе я сделал, но не знаю кому его отдавать и как непосредственно реализовать вставку номера.
Ответить с цитированием
  #6 (permalink)  
Старый 12.07.2013, 14:04
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

вот простой пример
<select name="client_id">
   <option value="1">Вася Васечкин</option>
   <option value="2">Иван Иванов</option>
   <option value="3">Петя Петров</option>
</select>

<div id="phone"></div>


$(function(){
   $('select[name=client_id]').change(function(){
      var client_id = $(this).val()

      $.ajax('test.php', {
        type     : "POST",
        data     : { client_id : client_id},
        success  : function(phone){
            $('#phone').html( phone );
        }
      });
   });

})


принимающий файл test.php
if(!empty($_POST['client_id'])){
     // находим в БД клиента по client_id и выплевываем его телефон
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функционал "Читать полностью" Rikimaru2013 Элементы интерфейса 7 22.10.2012 19:33
Функционал "Читать полностью" Rikimaru2013 Элементы интерфейса 4 21.10.2012 09:57
отключит функционал ролика мыши dadli Общие вопросы Javascript 5 04.07.2012 16:14
Неактивность ссылки на время загрузки доп контента WoW-rotfl AJAX и COMET 27 22.03.2012 20:21
Реализовать функционал Armen Работа 1 25.02.2011 04:12