Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Обнуляются select после добавления контента (https://javascript.ru/forum/dom-window/72981-obnulyayutsya-select-posle-dobavleniya-kontenta.html)

dima85 11.03.2018 16:29

Обнуляются select после добавления контента
 
Есть div блок с id="element-select" в котором несколько select, когда я там что-то выбираю в них. А потом нажимаю на

<input onclick="document.getElementById('element-select').innerHTML+='11';" value="add" type="button">

Кнопка добавляет единички в конец этого блока, при этом все выбранные select сбрасываются.
Подскажите как избежать этого? И почему такое происходит, ведь "11" добавляются динамически.

рони 11.03.2018 16:48

Цитата:

Сообщение от dima85
Подскажите как избежать этого?

не заставлять браузер вновь формировать блок
Цитата:

Сообщение от dima85
innerHTML


текстовые-узлы-для-вставки-текста
там же и все остальные методы добаления

dima85 11.03.2018 19:38

Не смог я разобраться. У меня более сложная конструкция. Вместо тех единиц я вставляю 2 select блока и input. И все это обязательно выводить именно в div блок с id="element-select".

Дайте пожалуйста какой-то пример:

<input onclick="func();" value="add" type="button">


function func() {
document.getElementById('element-select').innerHTML+='<select onchange="news(this.value,\'comd.json\');"><option value=""><\/option><\/select>';
}

рони 11.03.2018 19:51

dima85,

insertadjacent

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
function func() {
document.getElementById('element-select').insertAdjacentHTML('beforeEnd', '<select onchange="news(this.value,\'comd.json\');"><option value=""><\/option><\/select>');
}
  </script>
</head>

<body>
<input onclick="func();" value="add" type="button">


<div id="element-select">
<select name="" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>


</div>

</body>
</html>

dima85 11.03.2018 19:58

Спасибо большое.


Часовой пояс GMT +3, время: 22:03.