Установка нескольких значений в поле со списком

#javascript #html #combobox

#javascript #HTML #поле со списком

Вопрос:

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

Это один из моих сценариев, который работает:

 function checkFont() {
   var cookie = readCookie("Font Family");
   fontFamily = cookie ? cookie : 'Century Gothic';
   document.getElementById('fonts').value = fontFamily;
   fontFace(fontFamily);
}
  

Моя проблема заключается в том, что я делаю это со сценарием, где поле со списком должно принимать более одного значения. Ниже приведен скрипт, который я не могу заставить работать, вся помощь очень ценится!

Обратите внимание, что поле со списком «цвета» принимает пять параметров.

 function checkBody() {
   var cookie1 = readCookie("Text Colour");
   textCol = cookie1 ? cookie1 : "#444";
   var cookie2 = readCookie("Background Colour");
   backCol = cookie2 ? cookie2 : "white";
   var cookie3 = readCookie("Link Colour");
   linkCol = cookie3 ? cookie3 : "#0424B5";
   var cookie4 = readCookie("Heading1 Colour");
   heading1Col = cookie4 ? cookie4 : "#0424B5";
   var cookie5 = readCookie("Headings Colour");
   headingsCol = cookie5 ? cookie5 : "#99975A";

   document.getElementById('colours').value = textCol,backCol,linkCol,heading1Col,headingsCol;
   bodyStyle(textCol,backCol,linkCol,heading1Col,headingsCol);
}
  

Заранее большое спасибо!

Комментарии:

1. Я не знаю, почему за мой пост проголосовали отрицательно, я здесь новичок, поэтому дайте мне знать, что я сделал не так, спасибо

2. Я проголосовал за это 🙂 Некоторые люди могут быть здесь такими неуважительными.

3. @Christian — ваш вопрос кажется мне приемлемым — я не уверен, почему кто-то другой проголосовал против.

4. спасибо всем, это одно удивительное сообщество!!!

5. Под «Combobox» вы имеете в виду «выбрать элемент»? Поле со списком — это выпадающее меню, объединенное с вводом текста, а HTML не имеет собственного эквивалента.

Ответ №1:

Я бы попробовал выбрать параметры по отдельности:

 var theSelect = document.getElementById('colours')

for(i=0;i< theSelect.childNodes.length; i  ){

    if(theSelect.childNodes[i].value == textCol || theSelect.childNodes[i].value = backColl ||<--etc. )
    { theSelect.childNodes[i].selected == true; }
}
  

Комментарии:

1. я не могу заставить ваш код работать. поправьте меня, если я ошибаюсь, но не нужно ли мне что-то вроде document.getElementById(‘colors’).value = []textCol, backCol; ?