Как заполнить выпадающий по умолчанию в Javascript - PullRequest
0 голосов
/ 12 июня 2018

Добрый день

Мой код ниже заполняет списки складов до выпадающего списка, что я и хочу, но я также хочу сделать склад с isMainWarehouse = true выбранным по умолчанию при заполнении складов (обратите внимание, чтоесть только один главный склад)

function PopulateWarehouses() {

var warehouseDropDown = document.getElementById('SelectWarehouse');
var warehouseFragment = document.createDocumentFragment();

_warehouseRepository.getWarehouses().done(function (data) {
    for (var element in data.items) {
        if (data.items.hasOwnProperty(element)) {

            var recievedData = data.items[element];
            var id = recievedData.id;
            var name = recievedData.warehouseName;
            var main = recievedData.isMainWarehouse;
            var opt = document.createElement('option');
            opt.innerHTML = name;
            opt.value = id;
            warehouseFragment.appendChild(opt);
        }
    }
    warehouseDropDown.appendChild(warehouseFragment);
    $('#SelectWarehouse').selectpicker('refresh');

});}

вот мой выпадающий список

 <select id="SelectWarehouse" name="SelectWarehouse" class="selectpicker show-tick  form-control" data-live-search="true"></select>

Этот метод просто получить список всех складов

 // GET: get list of all warehouses
    public async Task<ListResultOutput<WarehouseListDto>> GetWarehouses()
   {
        var warehouses = await _warehouseRepository.GetAllListAsync();


        ListResultOutput<WarehouseListDto> dto = new ListResultOutput<WarehouseListDto>(
                 warehouses
                .OrderBy(t => t.WarehouseName)
                .ToList()
                .MapTo<List<WarehouseListDto>>()
            );
        return dto;
    }

1 Ответ

0 голосов
/ 12 июня 2018

Чтобы выбрать основной, вам просто нужно установить выбранное свойство опции для основного склада

function PopulateWarehouses() {

var warehouseDropDown = document.getElementById('SelectWarehouse');
var warehouseFragment = document.createDocumentFragment();

_warehouseRepository.getWarehouses().done(function (data) {
    for (var element in data.items) {
        if (data.items.hasOwnProperty(element)) {

            var recievedData = data.items[element];
            var id = recievedData.id;
            var name = recievedData.warehouseName;
            var main = recievedData.isMainWarehouse;
            var opt = document.createElement('option');
            opt.innerHTML = name;
            if(main){
                opt.selected = 'selected';
            }
            opt.value = id;
            warehouseFragment.appendChild(opt);
        }
    }
    warehouseDropDown.appendChild(warehouseFragment);
    $('#SelectWarehouse').selectpicker('refresh');

});}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...