创建后禁用“选择框”选项

时间:2018-07-26 08:00:10

标签: javascript php html mysql

我有一个选择框,它是从mySQL数据库动态创建的,然后使用函数在索引[0]处添加“请选择”选项,然后我将索引[0]强制为选择的选项。我的问题是试图弄清楚如何在创建索引[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>

2 个答案:

答案 0 :(得分:4)

只需将新创建的选项的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>

答案 1 :(得分:1)

最简单的方法是用PHP完成所有操作。无需所有js添加该选项。 优点是它将成为DOM的一部分,以后更易于操作(即删除禁用的对象)

s.split("_")[0]