我有一个文件列表和一个下拉框,我希望用户能够按各种类别等过滤它们。
我有一个 php 类,它具有创建 sql 查询并返回结果的功能。我非常想通过 ajax 来防止刷新。
我被困住了,希望能得到一些帮助。
问题是我不知道下一步该做什么。这对我来说很新,但仍然很陌生。如果可以从选择中运行 ajax 调用 onKeyUp 那就更好了。
感谢您的任何帮助:
的HTML:
<div>
<form action="" method="post" name="orderBy">
<label for="orderBy" id="orderBy">Order By:</label>
<select>
<option class="orderByOption" value="newest">Newest First</option>
<option class="orderByOption" value="oldest">Oldest First</option>
<option class="orderByOption" value="cat">Category</option>
<option class="orderByOption" value="alpha">Aphabetical</option>
<option class="orderByOption" value="fileType">Filetype</option>
</select>
<label> </label>
<input type="submit" class="orderByTrainingButton" name="submit" value="Go!"/>
</form>
</div>
阿贾克斯:
//form for changing the ordering of items in training all docs
$(function(){
$(".orderByTrainingButton").click(function(){
//validate and process
//get vlaue
var option = $(".orderByOption").val();
var params = {option: option};
$.ajax({
type: "POST",
url: "../trainingOrderByAjax.php",
data: params,
dataType: 'json',
success: function(data){
if(data.success == true){
//aaaannnd. stuck/
}else{
// shouldn't ge there...I hope.
}
},
error: function( error ) {
console.log(error);
}
});
});
});
ajax 将调用的 php:
<?php
include_once('core/init.php');
if($_POST){
$orderBy = $_POST['orderByOption'];
if($training->getAlFilesOrderBy($orderBy)){
$data['success'] = true;
}else{
$data['success'] = false;
}
echo json_encode($data);
}
首先按 desc 或 asc 排序会很棒。然后我可以在此基础上再接再厉。