【问题标题】:php dopdown filter is not workingphp下拉过滤器不起作用
【发布时间】:2018-09-18 11:16:50
【问题描述】:

这是产品过滤页面。我想通过下拉过滤数据。通过 php 和 mysqli 数据库。我从数据库中获取数据并放入下拉列表。但它在选择值后没有过滤。尝试了很长时间。尽一切可能。请在此代码中帮助我,谢谢。

var colour,brand,size,achievements ;
	$(function(){
		$('.item_filter').click(function(){
			$('.product-data').html('<div id="loaderpro" style="" ></div>');
				
			 colour = multiple_values('colour');
			 brand  = multiple_values('brand');
			 size   = multiple_values('size');
			 achievements   = multiple_values('achievements');
			
            $.ajax({
				url:"ajax.php",
				type:'post',
				data:{colour:colour,brand:brand,size:size,achievements:achievements,sprice:$(".price1" ).val(),eprice:$( ".price2" ).val()},
				success:function(result){
					$('.product-data').html(result);
				}
			});
		});
		
	});
	
	
	function multiple_values(inputclass){
		var val = new Array();
		$("."+inputclass+":checked").each(function() {
		    val.push($(this).val());
		});
		return val;
	}
<div class="list-group">
		        <select>
		        <option class="item_filter" value="showAll" selected="selected">Show All Products</option>
		        <?php
		        
		        
		        $query = "select your_achievements from info_user where user_status = '1'";  
				$rs = mysqli_query($con,$query) or die("Error : ".mysqli_error());
		        
		        while($achievementsdata = mysqli_fetch_assoc($rs))
		        {

		            ?>
		            <option selected="selected" class="item_filter" value="<?php echo $achievementsdata['your_achievements']; ?>"><?php echo $achievementsdata['your_achievements']; ?></option>
		            <?php
		        }
		        ?>
		        </select>
		        </div>

【问题讨论】:

    标签: javascript php ajax mysqli


    【解决方案1】:

    尝试像这样使用onchange 事件

    $('select').on('change', function() {
      alert( this.value );
    })
    

    你的数据变量应该是这样的

    data:{'colour':colour,'brand':brand,'size':size,'achievements':achievements,'sprice':$(".price1" ).val(),'eprice':$( ".price2" ).val()},
    

    确保所有变量的值都存在。 你的ajax代码应该是这样的

    $(function(){
            $('select').on('change', function() {
                $('.product-data').html('<div id="loaderpro" style="" ></div>');
                 colour = multiple_values('colour');
                 brand  = multiple_values('brand');
                 size   = multiple_values('size');
                 achievements   = multiple_values('achievements');
                $.ajax({
                    url:"ajax.php",
                    type:'post',
                    data:{'colour':colour,'brand':brand,'size':size,'achievements':achievements,'sprice':$(".price1" ).val(),'eprice':$( ".price2" ).val()},
                    success:function(result){
                        $('.product-data').html(result);
                    }
                });
            });
    
        });
    

    【讨论】:

    • 嘿,我根据你的建议做了所有的改变。现在,我正在提醒选定的值。但是,如何显示该选定值?我的意思是按下拉过滤!谢谢你的代码....
    • 您是否获得了所有变量值,例如 color = multiple_values('colour');品牌 = 多个值('品牌');大小 = 多个值('大小');成就 = multiple_values('成就');
    • 告诉我你的html代码,我会为你提供解决方案
    • 兄弟这是链接wetransfer.com/downloads/…
    • 请看
    猜你喜欢
    • 2021-07-18
    • 2022-01-24
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    相关资源
    最近更新 更多