получать всю стоимость select, загрузив страницу

У меня есть следующий код, оказывается, что я хочу захватить все Values одного Select я скрываю как только была загружена страница в Html, захватывать их в Javascript и посылать их посредством одного JSON в драйвер 'laravel.

Здесь я оставляю им код, большое спасибо из-за Вашей помощи:

            <div>
                <select name="annios[]" id="annios" hidden multiple="multiple">
                    @foreach($precebo as $fecha)
                        <option value="{{$fecha->año_destete}}">{{$fecha->año_destete}}</option>
                    @endforeach
                </select>
            </div>

Так это произвел array:

var array =$("[name='annios[]']").val(); 

я думаю, что это может быть ошибка, когда я это произвожу.

2
задан 29.03.2018, 01:09
2 ответа

Обобщенная FunciГіn, для использования mГЎs широкий.

function current__select__values(id) {
 const e = document.getElementById(id);
 return Array.apply(null,Array(e.options.length)).
 map((cur, i, arr) => {
  return arr[i] = {
            selectName: e.options[i].text,
            selectValue: e.options[i].value
            };
 });
}

var data = current__select__values("f"); // Datos guardados aquí
    console.log(data);
<select id="f">
<option value="H4"> 4 Hamburgesas </option>
<option value="B9"> 9 Bebidas </option>
</select>
0
ответ дан 24.11.2019, 00:32

Проблема состоит в том, что .val() будет возвращать тебе s¦lo отборную стоимость select (или в Вашем недостатке - недостаток первого option) но не array стоимости option. AdemÃ: s, как estÃ: делая s¦lo выбираются select и не option.

то, что podr¦-схвати делать, состоит в том, чтобы выбирать все option, пробегать их используя each и сохранять Вашу стоимость в array. Немного как это:

var miArray = [];

$("[name='annios[]'] option").each(function() {
  miArray.push($(this).val());
}); 

console.log(miArray);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <select name="annios[]" id="annios" hidden multiple="multiple">
    <option value="2015">2015</option>
    <option value="2016">2016</option>
    <option value="2017">2017</option>
    <option value="2018">2018</option>
  </select>
</div>
2
ответ дан 24.11.2019, 00:32

Теги

Похожие вопросы