Javascript 在动态创建的选择框中预选值
我可能有个简单的问题。 我有两个选择框,它们是由php动态创建的。您可以在此字段中选择数字。我希望在一个选择框中预选最小的数字,在另一个框中预选最大的数字 我的代码: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
$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,因为它不是静态的。字段中的数字在不断变化,因此最大和最小的数字在不同的时间是不同的。