当你将提交表单(假设你的形式提交按钮),所有的数据将被发送到PHP,你会找回里面_GET $(全球VAR)
$_GET['sort']
您的所有数据
将包含所选的值。
然后,如果你要预先选择,你只需要添加你的HTML
<option value="PriceLow" <?php echo ((!empty($_GET['sort']) && $_GET['sort'] == 'PriceLow') ? 'selected="selected"' : '') ?>>Price (Low to High)</option>
你必须为选择的每个选项做同样的里面的一些PHP代码。 这将允许您在第一次提交后预先选择好的选项。
解决方案2:
如果不婉插入你的HTML代码中过多的PHP,你可以张贴的值存储一个JavaScript变种内,然后,在加载DOM时选择好的选择(使用好的JS库如jQuery例如)
你的HTML代码:
<select name="sort" >
<option value="None">None</option>
<option value="PriceLow">Price (Low to High)</option>
<option value="PriceHigh">Price (High to Low)</option>
<option value="NameAZ">Name (A-Z)</option>
<option value="NameZA">Name (Z-A)</option>
</select>
而且在<script>
标签一些JS代码
// Need jQuery !
$(document).ready(function() {
// Generate the selected var in JS using the value in PHP
var selectedOption = '<?php echo $_GET['sort']; ?>';
// Select the selected option and append the selected attribute
$("select[name=sort] option[value=" + selectedOption + "]").attr('selected', 'selected');
});
该代码会在页面加载后自动选择好的选项。
信息:好处是你有一个更清晰和可修改的HTML代码。坏处是,如果客户端没有启用JavaScript,那么您的自动选择将不起作用(当您使用PHP在HTML中添加“selected”时,它将始终工作)。所以你必须评估赞成和反对,并做出选择。
注意:您可以将动作留空而不是“?”
辉煌的作品完美地启用了PHP代码! – tech292 2013-03-17 23:30:28
嗯好吧我不知道我怎么会用JS做它,尽管它很好。你有没有例子? – tech292 2013-03-17 23:32:18
添加一个示例。你可以在这里试试JS部分:http://jsfiddle.net/jnygB/ – MatRt 2013-03-17 23:38:44