我有一个下拉列表,如下所示:
<select name="myDDownList" class="none" id="myDDownListID" style="height:25px; width: 280px">
<?php
if(file_exists($filesDir))
{
foreach (new DirectoryIterator($filesDir) as $file)
{
if((htmlentities($file) !== ".") && (htmlentities($file) !== ".."))
{
echo "<option>" .htmlentities($file). "</option>";
}
}
?>
</select>
文件夹 $ filesDir 的内容可以由操作系统自动更新,我也想自动更新下拉列表的内容,而无需手动重新加载整个页面内容。
我虽然可以使用 setInterval 函数使用内联Javascript代码,但是这样更改代码:
<select name="myDDownList" class="none" id="myDDownListID" style="height:25px; width: 280px">
<?php
if(file_exists($filesDir))
{
foreach (new DirectoryIterator($filesDir) as $file)
{
if((htmlentities($file) !== ".") && (htmlentities($file) !== ".."))
{
echo "<option>" .htmlentities($file). "</option>";
}
}
}
?>
<script>
/* use 'setInterval' function here */
</script>
</select>
但老实说,我不知道如何更新 setInterval 功能中的下拉列表的内容。我想我必须使用Javascript库中的一个函数。 但我不知道哪个功能。
拜托,您能帮我找一个解决方案吗? 提前感谢您的帮助。
西蒙
答案 0 :(得分:1)
你制作一个php页面&#34; getListDirectory.php&#34;
<?php
if(file_exists($filesDir))
{
foreach (new DirectoryIterator($filesDir) as $file)
{
if((htmlentities($file) !== ".") && (htmlentities($file) !== ".."))
{
echo "<option>" .htmlentities($file). "</option>";
}
}
}
?>
并且您的脚本只需每15秒发出一次请求即可:
setInterval(function(){
$.get( "getListDirecotry.php", function( data ) {
$("#myDDownListID").html(data);
});
}, 15000);