Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как запушить значения в select? (https://javascript.ru/forum/dom-window/69010-kak-zapushit-znacheniya-v-select.html)

INSIDER73 24.05.2017 10:47

Как запушить значения в select?
 
В {{::min}} и {{::max}} передается минимальное и максимальное значение,я хочу передать в селект значение от min до max,и построить его чтобы было примерно так,если min =1000 а max=5000 ,то строится селект с выборами 1000,1001,1002....5000,но не получается,что делаю не так?
<div id="q1">{{::min}}</div>
<div id="q2">{{::max}}</div>
<select id="minim" ></select>


var min = $("#q1").text();
var max = $("#q2").text();
min1 = parseInt(min, 10);
max1 = parseInt(max, 10);
for (var i = min1; i < max1; i++)
{ 
    $("#minim").push(i); 
}

j0hnik 24.05.2017 11:16

тут нужен не push
$("#minim").push(i); 
}

a
$("#minim").append('<option value="'+i+'">'+i+'</option>')

laimas 24.05.2017 11:19

Список не имеет метода .push(), это не массив. Добавлять в него нужно опции (<option></option>)

laimas 24.05.2017 11:20

Цитата:

Сообщение от j0hnik
$('<option value="i">i</option>')

Это работать не будет.

j0hnik 24.05.2017 11:26

Цитата:

Сообщение от laimas (Сообщение 453262)
Это работать не будет.

Поправил кавычки

laimas 24.05.2017 11:32

Цитата:

Сообщение от j0hnik
Поправил кавычки

И что? Все равно не будет. :)

$("#minim").append('<option value="'+i+'">'+i+'</option>')

ksa 24.05.2017 11:34

Или нативными методами...

<SELECT ID="oSelect">
  <OPTION VALUE="1">One</OPTION>
</SELECT>

<SCRIPT>
var oOption = document.createElement("OPTION");
document.getElementById('oSelect').options.add(oOption);
oOption.innerHTML = "Two";
oOption.Value = "2";
</SCRIPT>

j0hnik 24.05.2017 11:55

Цитата:

Сообщение от laimas (Сообщение 453268)
И что? Все равно не будет. :)

$("#minim").append('<option value="'+i+'">'+i+'</option>')

<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
  <select id="minim"></select>
<script>
for (var i = 0; i < 20; i++) {
$("#minim").append('<option value="'+i+'">'+i+'</option>')
}
</script>
</body>
</html>

j0hnik 24.05.2017 13:01

Цитата:

Сообщение от INSIDER73 (Сообщение 453254)
В {{::min}} и {{::max}} передается минимальное и максимальное значение,я хочу передать в селект значение от min до max,и построить его чтобы было примерно так,если min =1000 а max=5000 ,то строится селект с выборами 1000,1001,1002....5000,но не получается,что делаю не так?

Вообще, не советую пихать в селект 4000 опшенов,
лучше сделать так
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<input type="text" id="shir" value="1000"><br>
<input type="range" min="1000" max="5000" step="1" value="1000" id="shirR">
<script>
		$('#shirR').on('input', function() {
			var rng = $('#shirR').val();
			$('#shir').val(rng);
		});
</script>
</body>
</html>

ksa 24.05.2017 13:53

Цитата:

Сообщение от j0hnik (Сообщение 453275)
$('#shirR').on('input', function() {
	var rng = $('#shirR').val();
	$('#shir').val(rng);
});

Заменить на

$('#shirR').on('input', function() {
	$('#shir').val(this.value);
});


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