我已经设置了以下代码。但是如何在没有提交按钮的情况下过滤结果并根据下拉值(用户ID)过滤结果?
form method="post" name="report_filter" action="<?= $_SERVER['PHP_SELF'];?>" >
select name="name" onchange="report_filter.submit();">
<option value="--">Filter by:</option>
<option value="1">Andi</option>
<option value="2">Katy</option>
<option value="3">Max</option>
<select>
PHP //
<? if(isset($_POST['submit'])):
$mem->StaffTodayFilterSummary($_GET('value'));
else :
$mem->StaffToday();
endif;
?>
</form>
答案 0 :(得分:4)
您需要将name="report_filter"
更改为id="report_filter"
。
然后将您的onchange
事件更改为onchange="document.getElementById('report_filter').submit()"
这是完整的代码:
<form method="post" id="report_filter" action="<?= $_SERVER['PHP_SELF'];?>" >
<select name="name" onchange="document.getElementById('report_filter').submit();">
<option value="--">Filter by:</option>
<option value="1">Andi</option>
<option value="2">Katy</option>
<option value="3">Max</option>
<select>
<?
if(isset($_POST['name'])):
$mem->StaffTodayFilterSummary($_POST['name']);
else :
$mem->StaffToday();
endif;
?>
</form>
我更改了isset()
以检查POST['name']
并将过滤器摘要设置为也传递到$_POST['name']
。我不知道$_GET('value')
试图从哪里获取任何东西,但除非它在URL中我看不出它是如何工作的。