Установка выбранной опции в частичном виде с помощью jQuery - PullRequest
2 голосов
/ 11 марта 2020

Раскрывающийся список в моей части выглядит следующим образом:

<select id="odStatus" class="odStatus">
  <option value="placed">Placed</option>
  <option value="shipped">Shipped</option>
  <option value"Completed">Completed</option>
  <option value="Cancelled">Cancelled</option> 
</selection>

В моем orders.hbs я получаю данные, которые содержат строку состояния

$.get("/getOrderDetail/"+ id, (data)=>{
  // ...
  $('#orderDetail').find('#odStatus value=[' + data.order.status + ']').attr('selected', 'selected');
  // ...
}

Я пытаюсь получить это так #odStatus показывает, каков статус, но я не могу приступить к работе.

1 Ответ

0 голосов
/ 11 марта 2020

Непосредственная проблема заключается в том, что ваш селектор предполагает, что value является его собственным элементом, например. <value>. Вместо этого это должен быть селектор атрибута, нацеленный на элементы option в пределах select и использующий prop() для его обновления, например:

$('#orderDetail').find('#odStatus option[value="' + data.order.status + '"]').prop('selected', true);

Однако , стоит отметить что logi c можно упростить, просто установив val() на select напрямую. Точно так же find() может быть удален, поскольку это избыточно; id атрибуты должны быть уникальными в DOM. Попробуйте это:

$('#odStatus').val(data.order.status);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...