2015-08-03 51 views
0

我正在尝试为我创建的画廊创建过滤器。画廊有5个使用下拉菜单的过滤器。从5个过滤器中选择一个项目时,必须过滤图像。当选择第二个过滤器时,必须过滤第一个过滤器的结果等等。Onchange窗体过滤器,带下拉

我正在使用onchange='this.form.submit()'脚本,但我不知道如何在选择某个项目时为其分配某个操作。这是我在写作的时刻代码:

<td> 
    Kleur: 
    <form method="POST"> 
     <select name="kleur" onchange='this.form.submit()'> 
      <option> -- Geen optie -- </option> 
      <?php while ($line1 = mysqli_fetch_array($result1, MYSQLI_ASSOC)) { ?> 
       <option value="<?php echo $line1['kleur']; ?>"> <?php echo $line1['kleur']; ?> 
       </option> 
      <?php } ?> 
     </select> 
    </form> 

    <?php 
    if (isset($_POST['submit'])) { 
     $kleur = $_POST['kleur']; 
     $SQL = "SELECT * FROM `rozen` WHERE `kleur` LIKE '$kleur'"; 
     $result = mysqli_query($connection, $sql); 
     echo $result; 
    } 
    ?> 

    </br> 
</td> 

下面的部分似乎不工作:

<?php 
if (isset($_POST['submit'])) { 
    $kleur = $_POST['kleur']; 
    $SQL = "SELECT * FROM `rozen` WHERE `kleur` LIKE '$kleur'"; 
    $result = mysqli_query($connection, $sql); 
    echo $result; 
} 
?> 

有谁知道如何使用这个脚本?也许可以解释如何将所选项目保存在下拉菜单中?

+0

我想重新加载页面对于每个过滤器动作它不是一个好主意......你需要绑定一个jQuery的更改事件到选择,然后隐藏或显示基于选择的图像..但你可以展示更多关于画廊的东西? – Vanojx1

+0

@ Vanojx1 我工作的画廊位于http://82.74.55.31/bbs/public/rozen.php – Arbeon

回答

0

你可以用你需要过滤到您的图像的所有信息添加属性

<img filterInfo="Kleur|Geur|Bloemvorm|Gezondheid|Type|Zoeken"> 

然后设置一个类所有过滤赶上变化

$(".filters").on("change",function(){ 
    var kleur = $('[name=Kleur]').val(); 
    var Geur = $('[name=Geur]').val(); 
    ... 
    ... 
    ... 

    $.each($('#gallery img'),function(i,v){ 
     var attrs = $(v).attr("filterInfo").slice("|"); 
     if((kleur == "" || kleur == attrs[0]) && (Geur == "" || == attrs[1]) .... other filters) 
      $(this).show(); //or fadeIn(); 
     else 
      $(this).hide(); //or fadeOut(); 
    }); 
}); 
+0

我不知道如何在我的代码中实现这一点,我得到了我的图像数据从我的数据库通过使用: $ query1 =“选择kleur从rozen GROUP BY kleur”; \t $ result1 = mysqli_query($ connection,$ query1); – Arbeon

+0

与你填充图库的代码...你不需要任何其他调用该查询...并没有页面重新加载...你不再需要你选择的onchange事件...我的代码检查更改您的过滤器和循环槽图像,并隐藏或显示谁与过滤器匹配 – Vanojx1