Отключить опцию Select Box после его создания

У меня есть поле выбора, которое динамически создается из базы данных mySQL, а затем я использую функцию для добавления опции «Пожалуйста, выберите» в Index [0], затем я заставляю Index [0] быть выбранной опцией. Моя проблема состоит в том, чтобы выяснить, как отключить Index [0] после его создания, или, может быть, мне придется сделать это во время его создания в моей функции. Таким образом, в конце дня вариант «Пожалуйста, выберите» не является допустимым вариантом с возможностью выбора.

Заранее благодарю за любой совет.

 <?php
 $con = mysqli_connect("localhost","root","","karaoke");

 // Check connection
 if (mysqli_connect_errno())
 {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
  $sql = "Select * FROM regulars ORDER BY Regulars ASC";
  $result = mysqli_query($con, $sql) or die("Bad SQL: $sql");
  $opt = "<select id = 'regulars' name = 'regulars'>";

  while($row = mysqli_fetch_assoc($result)) {
      $opt .= "<option value'{$row['Regulars']}'>{$row['Regulars']}</option>\n";
   }
 $opt . = "</select>"
 ?>

 <center><div>
 <?php
 echo $opt;
 ?>

 </div></center>

 <script>
  function myFunction() {
   var x = document.getElementById("regulars");
   var option = document.createElement("option");
   option.text = "Please Select";
   x.add(option, x[0]);
  }
  </script>

  <script>
  myFunction()
  document.getElementById("regulars").selectedIndex = "0";
  </script>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
45
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Просто установите атрибут disabled на true для вновь созданной опции.

function myFunction() {
  var x = document.getElementById("regulars");
  var option = document.createElement("option");
  option.text = "Please Select";
  option.disabled = true;
  x.add(option, x[0]);
}

myFunction();
document.getElementById("regulars").selectedIndex = "0";
<select id = "regulars">
  <option value = "1">1</option>
  <option value = "2">2</option>
  <option value = "3">3</option>
</select>

TYSM, который отлично работает, вау, все эти исследования и тестирования разных вещей помогают мне учиться, но ответ был настолько прост и элегантен, что я смущен, лол ... Еще раз спасибо, братан

TotalNoob 26.07.2018 10:16

@TotalNoob - Рад помочь. Примите этот ответ, если он решит проблему.

31piy 26.07.2018 10:57

Самый простой способ - все делать на PHP. Нет необходимости использовать все js для добавления опции. Плюс в том, что он будет частью DOM, и впоследствии им будет легче манипулировать (т.е. удалить отключенное).

 <?php
 $con = mysqli_connect("localhost","root","","karaoke");

 // Check connection
 if (mysqli_connect_errno())
 {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
  $sql = "Select * FROM regulars ORDER BY Regulars ASC";
  $result = mysqli_query($con, $sql) or die("Bad SQL: $sql");
  $opt = "<select id = 'regulars' name = 'regulars'>";
  $opt .= "<option value=\"\" disabled>Please select...</option>";
  while($row = mysqli_fetch_assoc($result)) {
      $opt .= "<option value'{$row['Regulars']}'>{$row['Regulars']}</option>\n";
   }
 $opt . = "</select>"
 ?>

Спасибо за ваш ответ. Я пробовал это и раньше, но сдался, потому что продолжал получать эту ошибку: (!) Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный "" отключен> Выберите ... </ o '(T_CONSTANT_ENCAPSED_STRING) в C: \ wamp64 \ www \ karaoke \ addinger.php в строке 38

TotalNoob 26.07.2018 10:10

верно, это из-за двойных кавычек для значения. Замените одинарными кавычками или экранируйте его

Lelio Faieta 26.07.2018 10:14

ааааааааааааааааааааааааааааааааааааааааекаека более более эта "от" "" "" "" "" "от" "" "" от "до

TotalNoob 26.07.2018 12:24

Другие вопросы по теме