Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.11.2014, 16:08
Новичок на форуме
Отправить личное сообщение для tramX Посмотреть профиль Найти все сообщения от tramX
 
Регистрация: 04.01.2012
Сообщений: 5

Добавление в options
Здравствуйте. Получил с помощью ajax данные, поместил их в <select class="form-control" id="select_device_list"></select> $("#select_device_list").append( $(add_element)) в браузере список отображается, но вот если нужно получить значение выбранного пункта, var device_default = $("select#select_device_list").val(); то jquery возвращает null. Как поремонтировать?
Ответить с цитированием
  #2 (permalink)  
Старый 06.11.2014, 20:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

tramX,

<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8">

  <title>append demo</title>
  <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
</head>

<body>
<select id="select_device_list" name="" size="1"></select>
<script>
$( "#select_device_list" ).append( "<option value='f'>f</option><option value='a'>a</option>" );
alert($( "#select_device_list" ).val());
</script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 06.11.2014, 22:13
Новичок на форуме
Отправить личное сообщение для tramX Посмотреть профиль Найти все сообщения от tramX
 
Регистрация: 04.01.2012
Сообщений: 5

Я это и делаю, только в цикле.

for (var i in data) {  //Наполняем список элементами.
         add_element = "<option value="+i+">"+data[i]+"</option>";
         $("#select_device_list").append(add_element);
                }


В браузере отображаются значения в списке. Но если нажать просмотр кода страницы то select оказывается пустой. И если я хочу подключить обработчик к этому select, то не получаю значения из select а поучаю null
Ответить с цитированием
  #4 (permalink)  
Старый 06.11.2014, 22:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

tramX,

<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8">

  <title>append demo</title>
  <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
</head>

<body>
<select id="select_device_list" name="" size="1"></select>
<script>
var data = [1,2,3], add_element;
for (var i in data) {  //Наполняем список элементами.
         add_element = "<option value="+i+">"+data[i]+"</option>";
         $("#select_device_list").append(add_element);
                }

//$( "#select_device_list" ).append( "<option value='f'>f</option><option value='a'>a</option>" );
alert([$( "#select_device_list" ).val(),$( "body" ).html()]);
</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 06.11.2014, 22:55
Новичок на форуме
Отправить личное сообщение для tramX Посмотреть профиль Найти все сообщения от tramX
 
Регистрация: 04.01.2012
Сообщений: 5

alert([$( "#select_device_list" ).val(),$( "body" ).html()]);
html код выводится а список все равно пустой.
Ответить с цитированием
  #6 (permalink)  
Старый 06.11.2014, 23:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

tramX,
пишите код делайте макет
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #7 (permalink)  
Старый 06.11.2014, 23:36
Новичок на форуме
Отправить личное сообщение для tramX Посмотреть профиль Найти все сообщения от tramX
 
Регистрация: 04.01.2012
Сообщений: 5

Есть форма https://bitbucket.org/tramX/pythonix...tml?at=default

Есть jquery https://bitbucket.org/tramX/pythonix....js?at=default который обрабатывает эту форму. Все вроде работает. Но #select_device_list наполняется динамически, и не хранит значения в коде.
Ответить с цитированием
  #8 (permalink)  
Старый 07.11.2014, 00:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

tramX,
медитируйте на тему асинхронность
var device_default;
        var physical_network_default = $("select#physical_network").val();
        var url_request = "/adminz_get_devices/"+physical_network_default+"/";
        $.get(url_request, function(data) { //Выполняем запрос на получение списка устройств.
                //$('option', "#select_device_list").remove(); //Удаляем элементы из списка
                for (var i in data) {  //Наполняем список элементами.
                  var  add_element = "<option value="+i+">"+data[i]+"</option>";

                    
                    $("#select_device_list").append(add_element);
                };
$('#device_list').show(500);
                 device_default = $("select#select_device_list").val();// сюда же вызов для заполнения другого селекта $.get ...
            });

заполнили селект -- потом получили данные -- а ненаоборот

строка 24 сработает раньше чем придёт ответ с сервера в строку 10

Последний раз редактировалось рони, 07.11.2014 в 00:46.
Ответить с цитированием
  #9 (permalink)  
Старый 07.11.2014, 15:20
Новичок на форуме
Отправить личное сообщение для tramX Посмотреть профиль Найти все сообщения от tramX
 
Регистрация: 04.01.2012
Сообщений: 5

Решил вопрос иначе.
https://bitbucket.org/tramX/pythonix....js?at=default
Спасибо что помогали.
Ответить с цитированием
  #10 (permalink)  
Старый 07.11.2014, 16:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

tramX,
ок!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокирование интерфейса. Добавление нового элемента vychmat Элементы интерфейса 5 20.03.2014 15:04
XHR, setRequestHeader, OPTIONS xezzus AJAX и COMET 1 28.01.2014 13:09
Ext.tree, динам. добавление элемента Margarita ExtJS 0 24.12.2012 15:00
POST запрос воспринимается как OPTIONS neshta AJAX и COMET 0 29.03.2011 23:34
При отправке POST-запроса в заголовке к серверу вместо POST указывается OPTIONS VasiliyLuka AJAX и COMET 1 14.12.2009 14:57