Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   javascript и select (https://javascript.ru/forum/misc/28337-javascript-i-select.html)

sharomet 15.05.2012 22:26

javascript и select
 
можно ли как то с помощью javascript в тег options вставить пункты, ну что бы в каждом файле одно и тоже не писать а просто подгружать отдельно?
<select>
<option>Пункт 1</option>
<option>Пункт 2</option>
</select>

beard 16.05.2012 02:02

Цитата:

Сообщение от sharomet (Сообщение 174660)
в тег options вставить пункты

такого нет тега )

а, если без стеба непонятно что куда вставить, напишите что должно получится, в итоге

bes 16.05.2012 07:14

<select id="sel"> 
  <option>1</option>
  <option>2</option>
</select>

<input type="button" value="add option" 
  onclick="
    var newLength = sel.options.length + 1;
    sel.innerHTML += '  <option>'+newLength+'</option>'
">

nerv_ 16.05.2012 09:44

bes, эт че за порнография?) Ненавязчивый JavaScript не?

melky 16.05.2012 10:23

Цитата:

Сообщение от sharomet (Сообщение 174660)
можно ли как то с помощью javascript в тег options вставить пункты, ну что бы в каждом файле одно и тоже не писать а просто подгружать отдельно?
<select>
<option>Пункт 1</option>
<option>Пункт 2</option>
</select>

можно, но не нужно.

сделать 2 файла - один хранит элементы списка в формате html
файл options.html
<option value="Ы"> абвгд  </option>
<option> еёжз </option>

и скрипт, который будет загружать этот хтмл и вставлять на страницу элементы списка

файл import_options.js
window.import_options = function (options) {
    var req = new XMLHttpRequest();
    req.open(options.location, "GET", true);
    req.onreadystatechange = function () {
        if(req.readyState === XMLHttpRequest.DONE) {
            options.target.insertAdjacentHTML("beforeEnd", req.responseText);
        }
    };
    req.send(null);
};


дальше на странице загружаем скрипт и вызываем функцию :
<script src="/import_options.js"></script>

<select id="mysel">
  <option>я тут был</option>
</select>

<script>
  import_options({
    // куда вставляем полученный html
    target: document.getElementById("mysel"),
    // где находится хтмл
    location: "/options.html" 
  });
</script>

bes 16.05.2012 11:32

Цитата:

Сообщение от nerv_
bes, эт че за порнография?) Ненавязчивый JavaScript не?

Это лишь пример для демонстрации и не более.

beard 16.05.2012 13:08

Я сначала подумал ему нужен php

melky, а это реальный пример в практике? Я как то не замечал подобного, загрузки просто статики html. Если я например такое заюзаю мне потом руки не оторвут?:)

tadjik1 16.05.2012 13:22

если вам надо на нескольких страницах вывести один и тот же список, то наверное не стоит каждый раз при этом делать запрос на сервер. может лучше в локалсторадж сохранить, и оттуда загружать данные?

beard 16.05.2012 13:27

localStorage начинают использовать по назначению:)

melky 16.05.2012 22:04

Цитата:

Сообщение от beard (Сообщение 174753)
melky, а это реальный пример в практике? Я как то не замечал подобного, загрузки просто статики html. Если я например такое заюзаю мне потом руки не оторвут?:)

нет, но вы можете попробовать :)

Цитата:

Сообщение от tadjik1 (Сообщение 174758)
если вам надо на нескольких страницах вывести один и тот же список, то наверное не стоит каждый раз при этом делать запрос на сервер. может лучше в локалсторадж сохранить, и оттуда загружать данные?

HTML сохранять ? тем более, storage могут подредактировать - и вот вам уязвимость, из ничего.

Цитата:

Сообщение от beard (Сообщение 174760)
localStorage начинают использовать по назначению:)

он создан для сохранения параметров \ замены кук, а не для такого.

beard 16.05.2012 22:42

Цитата:

Сообщение от beard (Сообщение 174760)
localStorage начинают использовать по назначению:)

это был сарказм ;)

melky 16.05.2012 22:53

Цитата:

Сообщение от beard (Сообщение 174831)
это был сарказм ;)

он сюда так редко заходит :-?


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