Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как найти нужный элемент? (https://javascript.ru/forum/events/38174-kak-najjti-nuzhnyjj-ehlement.html)

Mukhtar 22.05.2013 12:17

Как найти нужный элемент?
 
Добрый день!

Подскажите как мне найти <option value='some_id'>some_text</option>, и выбрать с помощью jquery?

Например у нас переменная $_GET['id']=100

и есть селект с id='items'

<select id='items'>
<option value='0'></option>
<option value='20'>Шкаф</option>
<option value='44'>Диван</option>
<option value='100'>Телевизор</option>
<option value='115'>Кресло</option>
<option value='227'>Сервант</option>
</select>

jsru_ 22.05.2013 12:48

я обычно это делаю на стороне сервера при формировании селекта, через jquery можно:
$("option[value='100']").attr("selected", "selected");
ну или что-то в этом духе

рони 22.05.2013 13:08

Mukhtar,
:cray:
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<select id='items'>
<option value='0'></option>
<option value='20'>Шкаф</option>
<option value='44'>Диван</option>
<option value='100'>Телевизор</option>
<option value='115'>Кресло</option>
<option value='227'>Сервант</option>
</select>
<script>
 var  $_GET = {};
 $_GET['id']= 100;
 $('#items').val($_GET['id'])
</script>
</body>
</html>

Mukhtar 22.05.2013 14:09

Цитата:

Сообщение от рони (Сообщение 252089)
Mukhtar,
:cray:
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<select id='items'>
<option value='0'></option>
<option value='20'>Шкаф</option>
<option value='44'>Диван</option>
<option value='100'>Телевизор</option>
<option value='115'>Кресло</option>
<option value='227'>Сервант</option>
</select>
<script>
 var  $_GET = {};
 $_GET['id']= 100;
 $('#items').val($_GET['id'])
</script>
</body>
</html>

Я не совсем понял. Что это такое? ))

ksa 22.05.2013 14:51

Цитата:

Сообщение от Mukhtar
Что это такое?

Это рабочий пример выбора элемента селекта по значению
$_GET['id']= 100;

рони 22.05.2013 15:02

Цитата:

Сообщение от Mukhtar
Я не совсем понял. Что это такое? ))

Цитата:

Сообщение от Mukhtar
Подскажите как мне найти <option value='some_id'>some_text</option>, и выбрать с помощью jquery?

код выше установка селекта в значение 100, если вам нужен просто опцион со значением 100, то код дал jsru_,
$("option[value='100']")

или
$("#items option[value='"+$_GET['id']+"']")

Mukhtar 22.05.2013 15:47

Цитата:

Сообщение от рони (Сообщение 252112)
код выше установка селекта в значение 100, если вам нужен просто опцион со значением 100, то код дал jsru_,
$("option[value='100']")

или
$("#items option[value='"+$_GET['id']+"']")

[JS]
$("#items option[value='"+$_GET['id']+"']").trigger('change');
[JS]
не поддается ((

Mukhtar 22.05.2013 16:08

Цитата:

Сообщение от рони (Сообщение 252112)
код выше установка селекта в значение 100, если вам нужен просто опцион со значением 100, то код дал jsru_,
$("option[value='100']")

или
$("#items option[value='"+$_GET['id']+"']")

понял... Дело в том, что я из селекта делаю ссылки. То есть объект на самом деле уже не селект, а обычная ссылка вида

<a class='.link' href='some_text' title='~some_id'>some_text</a>


Как мне ее кликнуть через trigger?

Mukhtar 22.05.2013 17:27

Цитата:

Сообщение от рони (Сообщение 252112)
код выше установка селекта в значение 100, если вам нужен просто опцион со значением 100, то код дал jsru_,
$("option[value='100']")

или
$("#items option[value='"+$_GET['id']+"']")

попытался сделать так, не получилось

id=$_GET['id'];
jQuery('.link href[title="~'+id+'"]').trigger('click');

рони 22.05.2013 18:55

Цитата:

Сообщение от Mukhtar
обычная ссылка вида

<a class='.link' href='some_text' title='~some_id'>some_text</a>

Как мне ее кликнуть

выбрать нужную ссылку и кликнуть.
jQuery(селектор ссылки).eq(0).click();

Mukhtar 23.05.2013 05:52

Цитата:

Сообщение от рони (Сообщение 252169)
выбрать нужную ссылку и кликнуть.
jQuery(селектор ссылки).eq(0).click();

я кажется неправильно пишу селектор ссылки. Пробую вот так

jQuery('a href[title="~'+id+'"]').eq(0).click();


Так тоже не нажимает

jQuery('.flink title="~'+id+'"').eq(0).click();

Mukhtar 23.05.2013 06:22

function timers(){
	var id=$GET['id'];
	var items = jQuery('.inlinePanel-ul-li .flink').attr({title:"~"+id+""});
	items.click();
}
timers();

Вот так нажимает, но на последний элемент. Если быть точным, нажимает на все элементы до конца. А нужный пропускает.

Mukhtar 23.05.2013 07:02

вывел items через alert, выдало Object.

Походу поэтому все линки и нажимает.

Mukhtar 23.05.2013 08:57

Добился я нажатия нужного линка. Теперь мне нужно, чтобы следующий линк нажался с задержкой.

Пробую
jQuery('#makeList a[href="{$mark}"]').click();
		jQuery('#popMake .flink').eq(0).click();
		setTimeout(jQuery('#modelList a[href="{$model}"]').click(),3000);
		jQuery('#popModels .flink').eq(0).click();

не получается.
Последний штрих остался, помогите?

рони 23.05.2013 15:45

Цитата:

Сообщение от Mukhtar
<a class='.link' href='some_text' title='~some_id'>some_text</a>

если ссылка такая же, то мешает точка в классе.

Mukhtar 23.05.2013 16:07

Цитата:

Сообщение от рони (Сообщение 252368)
если ссылка такая же, то мешает точка в классе.

Про точку можно забыть, все работает, мне только нужно последний клик чтобы программно был с задержкой


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