我不能首先输入

I can not put an input in the first place

我正在尝试将 select 的选项作为 none 的第一个选项(以取消链接该数据)。

我正在使用 selectize,使用 php 页面我生成 select,所有输入如下:

          <select class='form-control empleadosEquipamientoSelector' id='empleadoPortatil' required>
          <option value='' disabled selected>Seleccione el empleado al que asignar el equipamiento</option>";
          echo "<option value='null'>Any</option>";
          $sql = "SELECT * FROM employees";
          $stmt = sqlsrv_query( $conn, $sql );
          while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
          echo "<option value='".$row['id']."'> ".$row['name']." ".$row['surname']." ".$row['secondSurname']."</option>";
          }
          echo "</select>

在jquery中我有以下顺序,但只影响在此期间创建的输入,如果我称之为AAAAAAny,第一个应该根据排序标准出现但总是最后一个出现,不管输入中存在的值和文本

    var $select1 = $('#empleadoPortatil').selectize({
        sortField: {
            field: 'text',
            direction: 'asc'
        }

    });

不要使用 "Any",而是使用“--Any--”,它是一种 hack 而不是解决方案,否则您必须在添加之前进行排序。

我认为如果让 SQL 完成所有艰苦的工作,您的问题就会得到解决。这样,您的前两项可以是您喜欢的任何内容,然后是您生成的选项。

我还建议您将逻辑与 HTML 分开。在这种情况下,您的 PHP 可以完成所有艰苦的工作,而 HTML 只是输出结果。这对于长期维护来说 更好,因为您不必一直在不同语言之间切换,并且您可以一次将您(或某人)的精力集中在一件事上时间.

这里建议重新编写代码:

<?php
    $sql = "SELECT * FROM employees ORDER BY …";    //  ORDER BY something
    $stmt = sqlsrv_query( $conn, $sql );
    $options = array();
    $option='<option value="%s">%s %s %s</option>';
    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
        $options[]=sprintf($option,$row['id'],$row['name'],$row['surname'],$row['secondSurname']);
    }
    $options=implode('',$options);
?>
<select class='form-control empleadosEquipamientoSelector' id='empleadoPortatil' required>
    <option value='' disabled selected>Seleccione el empleado al que asignar el equipamiento</option>
    <option value='null'>Any</option>
    <?php print $options; ?>
</select>