2015-01-28 3 views
1

Как я могу использовать ComboBox для обновления .php-страницы без обновления? У меня есть этот код, который принимает значение Combo и переводит его на страницу, но при этом перезагружает страницу, потеряв первоначальный поиск, но мне нужно передать значение, поддерживающее предыдущий опрос.Обновить страницу с помощью ComboBox без обновления

Код:

<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

вы могли бы пройти, какой переменные вы хотите сохранить скрытую полую форму и получить их с помощью метода поста, когда страница обновляется – user3479671

ответ

1

на OnChange случае избранных вы могли бы написать JavaScript, чтобы отправить форму и прочитать Select-вариант на стороне сервера, но сначала сделать Исеть ($ _ POST [» filtro ']), а затем обработать опциональный код внутри фигурных скобок.

Если вы хотите сохранить состояние опции выбора между сообщениями, вам нужно будет написать функцию javascript, которая устанавливает значение selectedIndex из опции выбора после загрузки страницы (рядом с закрывающим тегом), и этот js будет быть отброшен сервером на пост-действие, и он выведет 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> 
Смежные вопросы