如何在不提供刷新的情况下使用ComboBox更新.php页面? 我有这个代码,它获取了Combo的值并将其移至页面,但是这样做会重新加载失去初始搜索的页面,但我需要传递保留上一次调查的值。
代码:
<form action="produtos.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<select name="filtro" id="filtro" onchange="valueselect(this.value);">
<option value="0">Popularidade</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
</select>
</form>
<script type="text/javascript" language="javascript">
function valueselect(filtro)
{
window.location.href = "produtos.php?filtro="+filtro;
}
</script>
我正在尝试做这样的事情:
<script type="text/javascript" language="javascript">
function pesquisa(filtro) {
var id = $("#filtro").val();
$.ajax({
type: "GET",
url: produtos.php,
data: (filtto : id),
dataType: "json",
success: function(obj) {
$('#message')[0].value = filtro
}
}
});
}
</script>
但没有任何反应。
这是开发中的页面: Page
答案 0 :(得分:1)
在select的onchange事件上你可以编写javascript来发布表单并读取服务器端的select-option但是先做isset($ _ POST [&#39; filtro&#39;])然后编写有意义的代码在大括号内处理选项。
如果你想在帖子中保持select-option的状态,你必须编写javascript函数,在页面加载后(在结束标记附近)设置select选项的selectedIndex并且这个js将在post post上由服务器处理,它将输出JS以根据用户选择的内容选择适当的索引。应该在2分钟后发布代码.. 这是代码:
<html><body>
<form action="produtos.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<select name="filtro" id="filtro" >
<option value="0">Popularidade</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
</select>
</form>
<script type="text/javascript" language="javascript">
document.getElementById('filtro').onchange=function(){
document.getElementById('form1').submit();
}
function setSelected(value){
var filtro = document.getElementById('filtro');
var options = filtro.options;
for(var i=0;i<options.length;i++){
if(options[i].value == value){
filtro.selectedIndex = i;
}
}
}
</script>
<?php
if(isset($_POST['filtro'])){
$selectedValue = $_POST['filtro'];
// code to process the data
//...
// code to remember dropdown
echo "<script type='text/javascript'>setSelected($selectedValue)</script>";
}
?>
</body>
</html>