这不是php的工作方式。但是你可以使用jquery进行如下ajax调用:
<?php
$array = array('pipo', 'kees', 'klaas', 'klaas1', 'jan', 'meneerje', 'poep', 'hessel', 'kaas', 'ietsandersd', 'smit', 'cowoy', 'nog zo iets');
if(isset($_REQUEST['keyword'])){
$new_array = array();
foreach($array as $value){
if(strpos($value, $_REQUEST['keyword']) !== false){
$new_array[] = $value;
}
}
}
else{
$new_array = $array;
}
$options = '';
foreach($new_array as $key => $option){
$options .= "<option value='$key'>$option</option>";
}
$selectbox = "<select name='selectbox' id='drop_down'>$options</select>";
if(isset($_REQUEST['keyword'])){
echo $options;
}
else{
echo "<html>
<head>
<title>ajax selectbox</title>
<script src=\"http://code.jquery.com/jquery-latest.min.js\" type=\"text/javascript\"></script>
<script type=\"text/javascript\">
$(document).ready(function () {
$('body').on('keyup', '.search', function(){
var data = $('.search').serialize();
$.post('ajax_selectbox.php', data, function (data){
$('#drop_down').html(data);
});
});
});
</script>
</head>
<body>
<input type='text' name='keyword' class='search' />
$selectbox
</body>
</html>
";
}
?>
说明:
JavaScript,
首先我们需要引入在线的jQuery库,也可以下载该库并从您自己的Web服务器进行引用。
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('body').on('keyup', '.search', function(){
var data = $('.search').serialize();
$.post('ajax_selectbox.php', data, function (data){
$('#drop_down').html(data);
});
});
});
</script>
请注意,我使用jQuery(许多大型网站也使用jQuery),如果您了解一些JavaScript,那么语法可能会令人困扰。
在jQuery中,我们有一组可以直接使用的方法,例如:
$.post();
如果您想要使用该函数返回的数据,我们需要创建一个回调函数:
$.post( function(param_ returned_by_parent_function){
});
另一种使用jQuery的方法是查询HTML元素,然后执行相关操作,例如:
$('html_element_query').do_something_with_this();
当然,这只是基本的解释,但或许你已经理解了。