预设选择元素

时间:2016-03-27 04:38:47

标签: php jquery html forms

我有一个包含多个输入字段的表单以及一个包含多个下拉选项的select元素。用户填写输入字段并选择其中一个下拉选项并提交表单。表单的php处理程序将表单输入保存在数据库中,并根据这些输入构建页面。构建页面上的编辑链接返回到表单页面,其中字段预设为上次提交表单时的字段,因此编辑可以从上次提交的状态开始。

预设输入字段很简单,我可以指定value=<?php echo [saved value from last submission];?>但是将select元素预设为最后选择的值并不容易。我知道jQuery有$('select#id').val("4");会将select#id元素预设为选项#4,但是如何在再次加载表单页面时触发它?通过设置值来预设输入=不会生成任何可以被jQuery感知的内容。

感谢任何想法。

2 个答案:

答案 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值。