を使用してフィルタを適用する私は、3種類の選択メニューがあります:私はjqueryの上で使用することにより、「#searchresult」のデータをフェッチするために、AJAXを使用しています1.Category 2.State 3.CityフェッチデータAJAX経由し、その後は選択
をPHPでデータを送信するメソッドを変更します。
フェッチは適切に行われますが、1つの「選択」オプションに対してのみ有効です。
私が欲しいのは、ユーザーが別の「選択」オプションを変更したときに、現在の「#searchresult」フェッチされたデータが更新されるということです。 Like: "category"を "car"に変更すると、 "#searchresult"の "cars"のすべてのデータがフェッチされ、 "state"が "new york"に変更されると、 "#searchresult"ニューヨークにいる。
複数のif文を使用してselectが選択されているかどうかを調べるが、どこに到達していないかを調べるなど、さまざまなアプローチを試みました。
ありがとうございます。
私のコードは次のとおりです。
$(document).ready(function() {
$("#category").change(function() {
var data = $("#category option:selected").val();
var category = $("#category option:selected").text();
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('id');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url: "category",
data: {
data: data
},
dataType: 'json',
cache: false,
success: function(response) {
$("#searchresult").html("");
for (var i = 0; i <= 5; i++) {
$("#searchresult").append('<div class="col-12 col-sm-10 col-md-4 col-lg-3 col-xl-2 merchant" style="background-image: url(https://im.proptiger.com/1/1543935/6/green-villa-elevation-7990949.jpeg?width=380&height=285);"> \t <div class="filter"></div> \t <span class="category">' + category + '</span> \t \t <div class="col align-self-end"> \t \t <p>' + response.contractor[i].first_name + '</p> \t \t <span>' + response.contractor[i].city_name + ',' + response.contractor[i].state_name + '</span> \t \t </div> \t <div class="slideup"> \t \t <p>More info?</p> \t \t <a href="' + response.contractor[i].url + '" class="btn">Profile</a> \t </div> </div>');
}
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="category" id="category" class="chosen">
<option value="0" default>category</option>
<option value="1">Car</option>
<option value="2">Van</option>
</select>
<select name="state" id="state" class="chosen">
<option value="0" default>state</option>
<option value="1">Any</option>
<option value="2">other</option>
</select>
<select name="city" id="city" class="chosen">
<option value="0" default>city</option>
<option value="1">New york</option>
<option value="2">Chicago</option>
</select>
<div id="searchresult"></div>
とPHPは、JSON形式でデータを送信しています。
おかげuser5745970 @
URL値?ないカテゴリを何、それはURIは、あなたが結果を取得することを打つuri.Onサーバーでなければなりません。 –
@hameedSyed私はローカルホストを使用していますが、ドメインは127.0.0.1:8000/category – Dishu
です。あなたが指定したコードに従って、そのカテゴリに対して1つの変更時イベントしかありません。あなたがしなければならないことは、3つの値がすべて選択されたときに、ユーザーがすべての3つの値を選択し、変更中のイベントをトリガーするか、または各選択要素に対して火災の変化を引き起こし、あなたのDBから。 –