Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   поведение selected (https://javascript.ru/forum/misc/68224-povedenie-selected.html)

jay-S 03.04.2017 13:20

поведение selected
 
объясните мне пожалуйста следующее

есть такой кусок html

<select id="block_select" name="info">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>


и если выполнить следующий код
$('#block_select option').each(function() {
и так if($(this).attr('selected')) {
и так if($(this).is(':selected')) {
alert($(this).val());
}
});


типа выдает что есть селектед у первого оптиона как это так тоесть в хтмл селоектеда нету вот что я имею ввиду <option value="1" selected=""

ksa 03.04.2017 13:52

Цитата:

Сообщение от jay-S
типа выдает что есть селектед у первого оптиона

Так устроен селект...
Без мультиселекта будет выбран первый элемент, если не указать нужный...

laimas 03.04.2017 13:53

Цитата:

Сообщение от jay-S
селоектеда

это что за зверь? Если селектоЕда, то все верно - съедается к чертовой матери. )

Грамотней так if($(this).is(':selected')), а еще проще if(this.selected), а правильнее, если надо узнать выбранную опцию списка, то это получить значение selectedIndex списка, перебирать циклом опции не требуется.
А то что касается "не видно selected", то зачем он вам нужен? Раскрывающийся список элемент системный, заглядывать есть у опции selected нет надобности, для этого и существует if(this.selected)...

jay-S 03.04.2017 13:57

смысл в том что если селектед не выбран он типа выбран системно?

мне нужно условие если селектеда нету или если он есть
а судя по всему он есть всегда это так?

ksa 03.04.2017 13:59

Цитата:

Сообщение от jay-S
он есть всегда это так?

Да, ели нет мультиселекта... :yes:

jay-S 03.04.2017 14:01

вы имеете ввиду чекбоксами выбор нескольких значений верно?

ksa 03.04.2017 14:03

Цитата:

Сообщение от jay-S
чекбоксами выбор нескольких значений верно?

Ты почитай описание тега select...
Цитата:

Тег <select> позволяет создать элемент интерфейса в виде раскрывающегося списка, а также список с одним или множественным выбором, как показано далее.
http://htmlbook.ru/html/select

jay-S 03.04.2017 14:11

спасибо я все понял!

laimas 03.04.2017 14:14

Цитата:

Сообщение от jay-S
мне нужно условие если селектеда нету или если он есть

Значением списка с выбором одной опции в нем будет значение выбранной опции, то есть проверять циклом опции нет необходимости. У списка с одиночным выбором по умолчанию (не задано явно) всегда будет выбрана первая опция. То есть был выбор в списке или нет, можно проверять по значению списка.

И не оперируйте словами селектеда, это мусор, в русском достаточно слов для описания.


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