список, преобразованный в опции выбора с помощью javascript для мобильных устройств, не работает в мобильных браузерах IOS - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь создать опцию выбора с помощью javascript для мобильных устройств, данные поступают из списка ссылок, но не работают только на IOS.

это то, откуда приходит списокссылки

var listSelect = document.querySelector(".epgtvm_select-country");   
var countries = document.querySelectorAll(".epgtvm_structure-container ol a"); 

и здесь представлена ​​вся функция, но она не работает на IOS

function mobileCountries() {

  //create  the select element for the dropdown list before the ol
      var selectList = document.createElement("select");  
      selectList.setAttribute('data-selectconverted', 'true'); 
      listSelect.appendChild(selectList);


  var countries = document.querySelectorAll(".epgtvm_structure-container ol a");
  var countryOrder = [];

  //arrange country name and url in alphabetical order   
  countries.forEach(function(val) { //forEach for countries in <option>     
    countryOrder.push({
      'name': val.innerText,
      'url': val.href
    });
    countryOrder.sort(dynamicSort("name"));
    // return this;
  });

  //Create the option elements for the dropdown
  countryOrder.forEach(function(val) {
    var optionElement = document.createElement("option");
    //optionElement.innerHTML += val.name;  
    optionElement.innerText = val.name;
    optionElement.label = val.name;
    optionElement.value = val.url;
    selectList.appendChild(optionElement);
  });

  selectList.setAttribute('onblur', 'window.location = this.value;'); //onchange submit for the select
}
}
//DOM CONTENT READY
window.addEventListener("load", mobileCountries);

, поэтому код берет все ссылки и создает элементы option внутри тега select,он работает везде, но в IOS, кто-нибудь знает, что это может быть?

спасибо

1 Ответ

0 голосов
/ 15 мая 2019

Попробуйте вместо этого использовать конструктор Option:

  // Create the option elements for the dropdown
  countryOrder.forEach(function(val) {
    selectList.appendChild(new Option(val.name, val.url));
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...