在前端開發中,我們經常需要實現一些多條件篩選的功能。而jQuery作為一個優秀的JavaScript庫,也提供了很方便的篩選方法。下面我們就來看看如何使用jQuery來實現多條件篩選。
首先,我們需要為篩選條件添加對應的元素。比如說,我們想要篩選一組商品,根據商品類型和價格區間進行篩選。那么我們可以在頁面上添加兩個下拉列表和兩個輸入框,分別用于選擇商品類型、選擇價格區間和輸入價格。
<select id="type"> <option value="">請選擇類型</option> <option value="book">圖書</option> <option value="movie">電影</option> <option value="music">音樂</option> </select> <select id="price"> <option value="">請選擇價格區間</option> <option value="0-50">0-50元</option> <option value="50-100">50-100元</option> <option value="100-200">100-200元</option> <option value="200-">200元以上</option> </select> <input type="text" id="lowPrice" placeholder="最低價"> <input type="text" id="highPrice" placeholder="最高價">
接下來,我們需要通過jQuery綁定相應的事件,進行篩選操作。在代碼中,我們可以根據不同的條件來設置篩選結果的可見性。
$("#type, #price, #lowPrice, #highPrice").on("change paste keyup", function() { var type = $("#type").val(); var price = $("#price").val(); var lowPrice = $("#lowPrice").val(); var highPrice = $("#highPrice").val(); $(".product").hide().filter(function() { var pType = $(this).data("type") || ""; var pPrice = $(this).data("price") || 0; return (type === "" || pType === type) && (price === "" || pPrice >= Number(price.split("-")[0]) && pPrice<= Number(price.split("-")[1])) && (lowPrice === "" || pPrice >= Number(lowPrice)) && (highPrice === "" || pPrice<= Number(highPrice)); }).show(); });
在上面的代碼中,我們使用了jQuery的filter方法來匹配符合條件的元素,并通過show和hide方法來控制元素的可見性。其中,data方法可以獲取元素的自定義屬性值,而split方法可以將價格區間拆分成最低價和最高價進行比較。
綜上所述,通過上面的方法,我們可以實現基于jQuery的多條件篩選功能,從而提高用戶的篩選體驗和商品的展示效果。
上一篇jquery 多重if
下一篇jquery 基本用法