powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / В Chrome не работает автоматический выбор элемента списка (select)
24 сообщений из 24, страница 1 из 1
В Chrome не работает автоматический выбор элемента списка (select)
    #38235899
Фотография Yed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! В хроме при нажатии на кнопку "btRandom" не происходит смена элемента списка "sel". В IE / Opera все отлично работает. Как адаптировать данный код под Хром? Спасибо.
Вот код.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="utf-8">
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>	

	<script type="text/javascript">
		$(document).ready(function(){
			// Произвольный массив значений
			var values = new Array(21, 17, 12, 47, 152);
			// Заполним <select>
			for (var i=0; i < values.length; i++){
				$("#sel").append( $("<option value='" + values[i] +"'>value = " + values[i] + "</option>") );
			};
			// При нажатии на кнопку получим случайный индекса массива и выберем этот элемент в списке
			$("#btRandom").click(function(){
				var randomIdx = Math.round( Math.random() * (values.length-1) );
				$("#sel [value='" + values[randomIdx] + "']").attr("selected", "selected");
				$("#randomResult").append("Index:" + randomIdx + ", Value:" + values[randomIdx] + "<br>");
			});			
		});
	</script>
</head>
<body>
	<select id="sel"></select>
	
	<button id="btRandom">Select random</button>
	<div id="randomResult"></div>
</body>
</html>
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38235920
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select не имеет атрибута value
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38235963
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YedКак адаптировать данный код под Хром?
Как вариант...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
	// Произвольный массив значений
	var values = new Array(21, 17, 12, 47, 152);
	// Заполним <select>
	for (var i=0; i < values.length; i++){
		$("#sel").append( $("<option value='" + values[i] +"'>value = " + values[i] + "</option>") );
	};
	// При нажатии на кнопку получим случайный индекса массива и выберем этот элемент в списке
	$("#btRandom").click(function(){
		var randomIdx = Math.round( Math.random() * (values.length-1) );
		document.getElementById('sel').selectedIndex=randomIdx;
		$("#randomResult").append("Index:" + randomIdx + ", Value:" + values[randomIdx] + "<br>");
	});			
});
</script>
</head>
<body>
<select id="sel"></select>
<button id="btRandom">Select random</button>
<div id="randomResult"></div>
</body>
</html>
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38235964
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЫLL HEADselect не имеет атрибута valueнаверное неправ. у вас доктайп хтмл5 указывает, а для него есть это
т.е. через dom можно установить

но атрибута selected точно нет )

так работает
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<script type="text/javascript">
	$(document).ready(function(){
		// Произвольный массив значений
		var values = new Array(21, 17, 12, 47, 152);
		// Заполним <select>
		for (var i=0; i < values.length; i++){
			$("#sel").append( $("<option value='" + values[i] +"'>value = " + values[i] + "</option>") );
		};
		// При нажатии на кнопку получим случайный индекса массива и выберем этот элемент в списке
		$("#btRandom").click(function(){
			var randomIdx = Math.round( Math.random() * (values.length-1) );
			// $("#sel [value='" + values[randomIdx] + "']").attr("selected", "selected");
                        document.getElementById("sel").selectedIndex = randomIdx; // другие варианты не завелись
			$("#randomResult").append("Index:" + randomIdx + ", Value:" + values[randomIdx] + "<br>");
		});			
	});
</script>
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38235967
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38235969
не idx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЫLL HEAD...
так работает
Код: javascript
1.
2.
3.
...
document.getElementById("sel").selectedIndex = randomIdx;
...



так требуется выборка Option не по индексу, а по значению в value.
может так попробовать?
Код: javascript
1.
$("#sel option[value='" + values[randomIdx] + "']").attr("selected", "selected");
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38235986
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не idxтак требуется выборка Option не по индексу, а по значению в value.
может так попробовать?
Код: javascript
1.
$("#sel option[value='" + values[randomIdx] + "']").attr("selected", "selected");


да. с индексом пролетел )
но как с этим быть .attr("selected", "selected") ? это не живет в select
так тоже не хочет
Код: javascript
1.
$("#sel").attr("value", values[randomIdx])
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38235987
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не idxтак требуется выборка Option не по индексу, а по значению в value.
Ты программку автора внимательней посмотри... Потом примерчик мой запусти... Оно глядишь многое и прояснится.
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38235990
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЫLL HEADс индексом пролетелда нифига не пролетел )) усе правильно пашет. запутали вы меня )
там же что индекс массива вернет значение, что индекс селекта вернет тожэ самое значение
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236009
не idx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaне idxтак требуется выборка Option не по индексу, а по значению в value.
Ты программку автора внимательней посмотри... Потом примерчик мой запусти... Оно глядишь многое и прояснится.
Смотри, в примере автора показана выборка значения value из массива. Да, тут индексы совпадают.
Но в реальности это значение может быть получено из стороннего источника, а массива соответствия value и index вообще нет.
Вот и требуется выбрать в списке <select> строчку с заданным value.
Короче я так понял. Ждем Yed.
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236010
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если забыть про массив и просто выбирать по значению (пусть и из массива, просто других значений нет) то это работает
Код: javascript
1.
document.getElementById('sel').value = values[randomIdx];     
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236018
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но почему через джыквэри не хочет - непонятно (мне) ))
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236038
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не idxСмотри, в примере автора ...
Повторюсь.
Смотри... Запусти... И тебе откроется истина!

не idxНо в реальности ...
Пример и есть та самая реальность... Другой у нас нет.
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236041
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЫLL HEADно почему через джыквэри не хочет - непонятно (мне) ))
Это к вопрос Хрому... В других-то работает.
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236071
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

покажи что работает в других? у меня и в других не работает

я имею ввиду это (как самое логичное)
Код: javascript
1.
2.
3.
$("#sel").attr("value", values[randomIdx]) 
// или
$("#sel").attr("value", "'"+values[randomIdx]+"'") 


а это
Код: javascript
1.
$("#sel [value='" + values[randomIdx] + "']").attr("selected", "selected");


вообще не должно работать и правильно что в хроме не работает . имхо
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236179
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЫLL HEADпокажи что работает в других?
Я не value имел ввиду... Хотя автор уверяет, что это работает как минимум в Опере...

Я вот про что

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
	// Произвольный массив значений
	var values = new Array(21, 17, 12, 47, 152);
	// Заполним <select>
	for (var i=0; i < values.length; i++){
		$("#sel").append( $("<option value='" + values[i] +"'>value = " + values[i] + "</option>") );
	};
	// При нажатии на кнопку получим случайный индекса массива и выберем этот элемент в списке
	$("#btRandom").click(function(){
		var randomIdx = Math.round( Math.random() * (values.length-1) );
		$('#sel option').removeAttr('selected');
		$('#sel option').eq(randomIdx).attr('selected',true);
		$("#randomResult").append("Index:" + randomIdx + ", Value:" + values[randomIdx] + "<br>");
	});			
});
</script>
</head>
<body>
<select id="sel"></select>
<button id="btRandom">Select random</button>
<div id="randomResult"></div>
</body>
</html>



Это работает:
- ИЕ 8
- Опере

Но в ФФ и Хроме непонятно как...
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236236
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

вот так у меня работает везде
Код: javascript
1.
2.
3.
4.
5.
	$("#btRandom").click(function(){
		var randomIdx = Math.round( Math.random() * (values.length-1) );
		$('#sel option').removeAttr('selected');
		$('#sel option').eq(randomIdx).prop('selected',true);//attr('selected','selected');
		$("#randomResult").append("Index:" + randomIdx + ", Value:" + values[randomIdx] + "<br>");
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236252
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так тожэ везде работает
Код: javascript
1.
2.
3.
4.
5.
	$("#btRandom").click(function(){
		var randomIdx = Math.round( Math.random() * (values.length-1) );
                $('#sel').prop('value',values[randomIdx]);
		$("#randomResult").append("Index:" + randomIdx + ", Value:" + values[randomIdx] + "<br>");
	});
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236253
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кароче, через проперти робит
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236302
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собака порылась гдето здесь _http://javascript.ru/tutorial/dom/attributes#dom-atributy-vs-dom-svoystva
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236444
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЫLL HEADкароче, через проперти робит
Ну видал как!

- От Розарио Агро еще никто не уходил! (с) к/ф Приключение итальянцев в России
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38236455
ЫLL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

пришел, увидел, наследил (с) народное
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38237513
Фотография Yed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за ответы!
Извиняюсь, что не уточнил сразу. Но вопрос был именно про выбор option по значению value . Там у меня хранятся ID загруженных данных с сервера. Сами строчки могут быть отсортированы, удалены, отключены, т.е. к индексу selectedIndex привязаться нельзя (я не знаю, какой индекс в данный момент времени у определенного value).

Воспользовалс яэтим вариантом по стандарту:
ЫLL HEADесли забыть про массив и просто выбирать по значению (пусть и из массива, просто других значений нет) то это работает
Код: javascript
1.
document.getElementById('sel').value = values[randomIdx];     


Все работает!
...
Рейтинг: 0 / 0
В Chrome не работает автоматический выбор элемента списка (select)
    #38237561
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YedНо вопрос был именно про выбор option по значению value .
Если value у тебя в массиве и селект заполняется из него - используй таки индекс.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / В Chrome не работает автоматический выбор элемента списка (select)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]