我有一个包含多个输入字段的表单以及一个包含多个下拉选项的select元素。用户填写输入字段并选择其中一个下拉选项并提交表单。表单的php处理程序将表单输入保存在数据库中,并根据这些输入构建页面。构建页面上的编辑链接返回到表单页面,其中字段预设为上次提交表单时的字段,因此编辑可以从上次提交的状态开始。
预设输入字段很简单,我可以指定value=<?php echo [saved value from last submission];?>
但是将select元素预设为最后选择的值并不容易。我知道jQuery有$('select#id').val("4");
会将select#id元素预设为选项#4,但是如何在再次加载表单页面时触发它?通过设置值来预设输入=不会生成任何可以被jQuery感知的内容。
感谢任何想法。
答案 0 :(得分:1)
为您要选择的其中一个选项设置属性selected
。所以,像<option <?php echo 'selected="selected"';?>>4</option>
。
编辑:
您可以在具有数组值的循环中生成选项,检查每次迭代是否当前选项是用户选择的选项并设置该选项的selected
属性,或者你可以使用以下内容,虽然不是那么优雅,但是方法:
<select name="number">
<option value="1" <?php echo ($_POST['number'] == '1') ? 'selected="selected"' : ''; ?>>1</option>
<option value="2" <?php echo ($_POST['number'] == '2') ? 'selected="selected"' : ''; ?>>2</option>
<option value="3" <?php echo ($_POST['number'] == '3') ? 'selected="selected"' : ''; ?>>3</option>
<option value="4" <?php echo ($_POST['number'] == '4') ? 'selected="selected"' : ''; ?>>4</option>
</select>
答案 1 :(得分:0)
user2570380:
我认为您编辑的解决方案可行,所以我给了您信任。但是,我发现了另一种可能更优雅的方式。在我的PHP文件的HTML中,我放在了底部:
<script>
jQuery('select#age_group').val(<?php echo $age_group?>);
</script>
</body>
这里select#age_group
是我想要预设的选择元素,而$age_group
是我想要设置到select元素中的PHP值。