【发布时间】:2019-07-22 15:45:14
【问题描述】:
在我的大学项目中需要一些帮助。
我正在尝试使用 AJAX 过滤结果表。如何重新构建下面的代码以用于 2 个或更多下拉菜单? 我已经进行了数小时的搜索,但我似乎无法理解,我自己也很困惑。
下面的代码确实有效,但是我不完全理解下拉菜单的点击事件和将 JSON 数据传递给 AJAX 处理程序之间的关系。
也许我应该在选择时使用点击事件?但是我不确定如何去做。
我特别不明白“data:{query:query}”是如何与控制器相关的
非常感谢您的帮助!
我在 wordpress 上使用 PHP 和 MYSQL。
查看############################################# #
<!-- Drop Down 1 -->
<div class="filter-group">
<label>Name</label>
<select name="multi_search_filter" id="multi_search_filter" class="form-
control selectpicker">
<option value="">All</option>
<option value="Michael">Michael</option>
<option value="John">John</option>
<option value="Smith">Smith</option>
<option value="Tim">Tim</option>
</select>
<input type="hidden" name="hidden_country" id="hidden_country" />
<div style="clear:both"></div>
</div>
<!-- Drop Down 2 -->
<div class="filter-group">
<label>Year</label>
<select name="multi_search_filter2" id="multi_search_filter2" class="form-control selectpicker">
<option value="">All</option>
<option value="2019">2019</option>
<option value="2018">2018</option>
<option value="2017">2017</option>
<option value="2016">2016</option>
</select>
<input type="hidden" name="hidden_country2" id="hidden_country2" />
<div style="clear:both"></div>
</div>
AJAX 处理程序########################################
$(document).ready(function(){
load_data();
function load_data(query='')
{
$.ajax({
url:"/ajax-index-test-fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#ul-table').html(data);
}
})
}
$('#multi_search_filter').change(function(){
$('#hidden_country').val($('#multi_search_filter').val());
var getSelectName = $('#hidden_country').val();
var query = $('#hidden_country').val();
load_data(query);
console.log('the query is= ' + query);
});
});
模型/控制器########################################
if($_POST["query"] != '')
{
$search_array = explode(",", $_POST["query"]);
$search_text = "'" . implode("', '", $search_array) . "'";
$query = "SELECT *
FROM NominatorTBL
LEFT OUTER JOIN Nominator_NomineeLinkTBL
ON NominatorTBL.Nonimator_ID = Nominator_NomineeLinkTBL.Nonimator_ID
LEFT OUTER JOIN Nominee_ConfirmTBL
ON Nominator_NomineeLinkTBL.Nominee_ID = Nominee_ConfirmTBL.Nominee_ID
WHERE NominatorTBL.NomineeCategory1 = (".$search_text.")";
} else {
$query = "SELECT *
LEFT OUTER JOIN Nominator_NomineeLinkTBL
ON NominatorTBL.Nonimator_ID = Nominator_NomineeLinkTBL.Nonimator_ID
LEFT OUTER JOIN Nominee_ConfirmTBL
ON Nominator_NomineeLinkTBL.Nominee_ID = Nominee_ConfirmTBL.Nominee_ID";
}
【问题讨论】:
标签: javascript php jquery mysql ajax