Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.09.2018, 14:12
Аспирант
Отправить личное сообщение для Asew Посмотреть профиль Найти все сообщения от Asew
 
Регистрация: 24.08.2018
Сообщений: 30

Выделить атрибут name
как собрать массив из name:

<select name="ToLB" >
    <option value="monkey">Monkey</option>
     <option value="fruit">fruit</option>
</select>

Если через id, то вот так работает:

var my_array = [];

  		$('input[name="ToLB"]').each(function() {
    		if ($(this).val() !== '') {
      				my_array .push($(this).val());
    				}
  		});
Ответить с цитированием
  #2 (permalink)  
Старый 03.09.2018, 14:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$('input[name="ToLB"]') - input тут причем если <select name="ToLB"> ?

Вы что хотите значения опций списка в массив поместить, а зачем?
Ответить с цитированием
  #3 (permalink)  
Старый 03.09.2018, 14:33
Аспирант
Отправить личное сообщение для Asew Посмотреть профиль Найти все сообщения от Asew
 
Регистрация: 24.08.2018
Сообщений: 30

да, ссори ошибочка, вот так правильно:

$('select[name="ToLB"]')


ну надо мне для дальнейших работ именно значения опций списка.
Ответить с цитированием
  #4 (permalink)  
Старый 03.09.2018, 14:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

var my_array = $.map($('select[name=ToLB]').children(), function(e) {
    return e.value
})
Ответить с цитированием
  #5 (permalink)  
Старый 03.09.2018, 16:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Asew
$('input[name="ToLB"]').each()
Можно заменить на
$('select[name="ToLB"]>option').each()
Ответить с цитированием
  #6 (permalink)  
Старый 03.09.2018, 16:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

select[name="ToLB"]>option - а что есть еще и вложенные опции?
Ответить с цитированием
  #7 (permalink)  
Старый 03.09.2018, 22:14
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

laimas, вообще есть: в optgroup. И для них такой селектор кстати не сработает.
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 04.09.2018, 01:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Aetae
вообще есть: в optgroup. И для них такой селектор кстати не сработает
И без > выбраны будут только опции.
Ответить с цитированием
  #9 (permalink)  
Старый 05.09.2018, 09:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от laimas
И без > выбраны будут только опции.
А с ним не выберутся?

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	alert($('select[name="ToLB"]>option').length);
});
</script>
</head>
<body>
<select name="ToLB" >
	<option value="monkey">Monkey</option>
	<option value="fruit">fruit</option>
</select>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 05.09.2018, 10:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ksa
А с ним не выберутся?
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<select name="ToLB">
    <option value="1">111</option>
    <option value="2">111</option>
    <option value="3">111</option>
    <optgroup title="two">
        <option value="4">222</option>
        <option value="5">222</option>
        <option value="6">222</option>
    </optgroup>
</select>

<script>
var a1 = $.map($('select[name=ToLB] > option'), function(e) {
    return e.value
}), a2 = $.map($('select[name=ToLB] option'), function(e) {
    return e.value
});

alert(a1 + '\n' + a2)
</script>
</body>
</html>


Почему, пояснять не надо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запихнуть массив в атрибут Nanto Общие вопросы Javascript 4 28.10.2015 15:21
Сменить атрибут у тега img lifecom jQuery 2 03.09.2013 16:52
Как добавить атрибут к ссылке hell100 Общие вопросы Javascript 2 20.06.2012 16:51
понимать css своиство елемнта (если етого елемента нет прямо заданно атрибут style) dadli Общие вопросы Javascript 3 28.05.2012 00:53
Атрибут "jQuery<циферки>" и IE psu jQuery 6 18.05.2009 11:55