javascript - 将变量发送到 $_POST 而不进行实时搜索
问题描述
我已经修改了一个有效的实时搜索脚本以包含一个组合框。我希望实时搜索框正常工作。当进行选择以将选择以变量的形式传递给 livecompsearch.php 脚本时,我需要组合框。我不希望组合框搜索任何内容,以便能够在需要时使用变量,例如使用 $_POST['query2']。我已经从 php 脚本中省略了很多代码,因为这里并不真正需要它,我现在只想输出变量。我计划使用下拉菜单作为选项来搜索表中的不同列,方法是先选择其中一个选项,然后开始在实时搜索框中输入他们要查找的内容。
Testp.php
<div class="line">
<div class="box margin-bottom">
<div class="margin">
<div class="s-12 m-6 l-12">
<input type="text" name="search_box" id="search_box" class="searchbox" placeholder="Enter your live search here..." />
<select name="Search_Option" id="Search_Option" class="searchbox" style="width: auto;">
<?php
$options = array(
'0'=> 'All',
'1'=> 'Played',
'2'=> 'Scheduled',
'3'=> 'Cancelled'
);
$selected = 'Select';
foreach($options as $option=> $title){
if($selected==$option){
echo '<option value="'.htmlspecialchars($option).'" selected="selected">'.ucfirst($title).'</option>';
}else{
echo '<option value="'.htmlspecialchars($option).'">'.ucfirst($title).'</option>';
}
}
?>
</select>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
load_data(0);
load_data(1);
function load_data(page, query = '', query2 = '0')
{
$.ajax({
url:"includes/livecompsearch.php",
method:"POST",
data:{page:page, query:query, query2:query2},
success:function(data)
{
$('#dynamic_content').html(data);
}
});
}
$(document).on('click', '.page-link', function(){
var page = $(this).data('page_number');
var query = $('#search_box').val();
load_data(page, query);
});
$('#search_box').keyup(function(){
var query = $('#search_box').val();
load_data(1, query);
});
$('#Search_Option').change(function(){
var query2 = $('#Search_Option').val();
load_data(0, 1, query2);
});
});
</script>
livecompsearch.php
<?php
echo ' <p><strong>Variable: </strong>['.$_POST['query2'].']</p>';
?>
解决方案
嘿,所以我可能误解了你的问题,但我认为你可以只使用 if 语句,这样如果你只更改 HTML,如果你从 PHP 获得特定结果。
或者更好的是,如果您更改组合框,则不要让它触发。
将var query = $('#search_box').val()
andvar query2 = $('#Search_Option').val();
放在load_data
函数之前,$.ajax({
然后以这种方式发送。
显然摆脱query
参数,然后将函数调用放入事件处理程序中。
如果您将其全部保存在一个函数中,那么当它被触发时,它将发送当时输入的值,我认为这就是您想要的。
推荐阅读
- javafx - 如何从其他包中实例化 Javafx 控制器中的接口?
- java - 反序列化可能具有不同类型的 JSON 字段
- wordpress - 特色图片选项的调试建议 (add_theme_support('post-thumbnails'))
- machine-learning - 如何将连续的 cosine-theta 分数压缩为离散(0/1)输出?
- c++ - 如何解决 C++ 多继承中的函数名冲突?
- python - 为什么我的 Flask 网站没有运行 CSS 文件?
- javascript - matchMedia().addListener 标记为已弃用,addEventListener 等效?
- javascript - 在 Javascript 数组中,是否应该在删除之前检查一个值?
- c++ - Eclipse CDT 包含文件夹
- php - “如何在本地运行已经创建好的 WordPress 网站”?