1

我在表单中有一个带有过滤器的选择框,如何使用 jquery 替换onchange事件以避免整个页面刷新?我希望某些 div 块能够在选择某些选项时重新加载回调数据。

<form name="form_filter" action="<?php echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'#network-programs' ?>" method="post" enctype="multipart/form-data">
Genre:
<select name="filterGenre" id="filterGenre" onchange="this.form.submit()"  >
<option value="all" selected="selected">All</option>
<?php
$query1 = "SELECT * FROM video WHERE vcat_id IN(SELECT category_id FROM categories WHERE video_id IN(SELECT vid FROM `video` WHERE vuser_id='8') AND main_cat=1)";
$result = mysql_query($query1);

while($row = mysql_fetch_assoc($result)) {
    $vcat_id = stripslashes($row['vcat_id']);
    $vcat_name = stripslashes($row['vcat_name']);

    echo "<option value='".$vcat_id."'"; 
    if($vcat_id == $_POST['filterGenre']){echo ' selected ';}
    echo ">".$vcat_name."</option>";
}
?>
</select>

</form>

请指教,谢谢。

4

3 回答 3

1
$(document).ready(function(){

$('#filterGenre').change(function(){

$.ajax({
      url   : your form action,
      data  : $('#your form id').serialize(),
      type : 'POST',
      success : function(data){
                      $('#yourdiv').html(data);
                  }

  })

})

})

从选择中删除 onchange

于 2013-04-18T07:19:33.340 回答
0

您可以将 AJAX 与 jquery 一起使用。

w3schools

于 2013-04-18T07:16:39.907 回答
0

你可能会写这样的东西:

<form id='form' ...
   <select name="filterGenre" id="filterGenre" onchange="send_it()" ...
   ...

<script>
   function send_it(){
                      $.ajax({
                         type: 'GET',
                         url: 'http://www.site.com/page.php',
                         data: $('#form').serialize(),
                         success: function(){
                            alert('done!');
                         }
                      });
   }
</script>
于 2013-04-18T07:26:00.520 回答