Javascript 在动态创建的选择框中预选值

Javascript 在动态创建的选择框中预选值,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我可能有个简单的问题。 我有两个选择框,它们是由php动态创建的。您可以在此字段中选择数字。我希望在一个选择框中预选最小的数字,在另一个框中预选最大的数字 我的代码: $res_little=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY number ASC"); $res_large=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY

我可能有个简单的问题。 我有两个选择框,它们是由php动态创建的。您可以在此字段中选择数字。我希望在一个选择框中预选最小的数字,在另一个框中预选最大的数字

我的代码:

$res_little=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY number ASC"); 
$res_large=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY number ASC");

<select name="little" id="little">
    <option></option>
        <?php
        while($row = mysqli_fetch_array($res_little))
            {
            echo "<option>";
            echo('<p>'.$row['number'].'</p>');
            echo "</option>";
            }
        ?>

</select>

<select name="large" id="large">
    <option></option>
        <?php
        while($row = mysqli_fetch_array(res_large))
            {
            echo "<option>";
            echo('<p>'.$row['number'].'</p>');
            echo "</option>";
            }
        ?>
</select>

应该是这样的:

$res_large=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY number ASC");  
$max_number=mysqli_query($db_link,"SELECT MAX(number) FROM ... ");  


<select name="large" id="large" value='max_number'>
       <option></option>
       <?php
       while($row = mysqli_fetch_array(res_large))
       {
            echo "<option selected='$max_number'>";
            echo('<p>'.$row['number'].'</p>');
            echo "</option>";
       }
       ?>
</select>

您可以简单地使用jqueryready函数,然后在select下拉列表的第一个选项中添加selected属性

$selector选项:first.attr'selected','selected';这将使下拉列表的第一个元素处于选中状态

然后,您的代码将如下所示:

<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>

<?php

$res_little=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY number ASC"); 
$res_large=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY number ASC");
?>

<select name="little" id="little">
            <?php
            while($row = mysqli_fetch_array($res_little))
                    {
                    echo "<option value=\"".$row['number']."\">".$row['number']."</option>";
                    }
            ?>

 </select>


<select name="large" id="large">
            <?php
            while($row = mysqli_fetch_array($res_large))
                    {
                    echo "<option value=\"".$row['number']."\">".$row['number']."</option>";
                    }
            ?>
</select>

<script type="text/javascript">
    $(document).ready(function(){

        $("#little option:first").attr('selected','selected');
        $("#large option:first").attr('selected','selected');

});

</script>

谢谢,这是正确的方法。但是我忘了说选择框有一个onchange事件。像这样:

<?php

$res_little=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY number ASC"); 
$res_large=mysqli_query($db_link,"SELECT DISTINCT number FROM ... ORDER BY number ASC");
?>

<select name="little" id="little" ***onchange="from_little(this.value)"***>
            <?php
            while($row = mysqli_fetch_array($res_little))
                    {
                    echo "<option value=\"".$row['number']."\">".$row['number']."</option>";
                    }
            ?>

 </select>


<select name="large" id="large" ***onchange="to_large(this.value)"***>
            <?php
            while($row = mysqli_fetch_array($res_large))
                    {
                    echo "<option value=\"".$row['number']."\">".$row['number']."</option>";
                    }
            ?>
</select>

<script type="text/javascript">
    $(document).ready(function(){

        $("#little option:first").attr('selected','selected');
        $("#large option:first").attr('selected','selected');

});

</script>

所以它应该同时运行这些函数

可能重复No,因为它不是静态的。字段中的数字在不断变化,因此最大和最小的数字在不同的时间是不同的。