我有3个不同的选择菜单:1.Category 2.State 3.City获取数据通过Ajax,然后使用应用过滤器选择
我使用AJAX通过使用jQuery上获取的“#searchresult”数据改变在PHP上发送数据的方法。
正在进行提取,但只适用于一个“选择”选项。
我想要的是当用户更改另一个“选择”选项时,它将更新当前的“#searchresult”获取数据。 例如:假设在将“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形式发送数据。
感谢
什么呢url值吗?不是类,它必须是uri.On打那个URI,你会得到结果的服务器。 –
@hameedSyed我使用本地主机,域名为127.0.0.1:8000/category – Dishu
根据您提供的代码,该类别只有1个变更事件。你应该做的是让用户选择所有3个值,并在选择所有3个值时触发电平变化事件,或者为每个选择元素触发更改并将其他选择值传递给服务器以获取相关数据从你的数据库。 –