重新加载下拉框内容
Reload Dropdown Box content?
我找遍了所有的地方,但是都没用,所以我不得不问社区里有没有什么可以帮我的。
那么,我有一个下拉菜单和一个开关(复选框),如果我按下开关,它应该加载下拉内容,比如"Radio",如果我把它切换回来,它应该把下拉内容切换回,比如"playlist"。
代码如下:
<?PHP
// Read playlist & Radio
$playlists = explode("'n", shell_exec("/usr/bin/mpc lsplaylists"));
array_pop($playlists); //remove empty last line
$radioStations = array();
$radioStations = explode("'n", shell_exec("/usr/bin/mpc ls Webradio"));
$radioStations = str_replace("Webradio/","",$radioStations);
$radioStations = str_replace(".pls","",$radioStations);
array_pop($radioStations); //remove empty last line
?>
脚本:
<script>
function checkSelectedScheduleType()
{
if (document.getElementById('radioSelected').checked)
{
alert("radio selected fill dropdown with radio stations...");
<?php
$playlist = $radioStations;
?>
}
else
{
<?php
$playlist = $playlists;
?>
alert("Playlist selected fill dropdown with playlists...");
}
}
</script>
开关:<td class="alarmvalue" style="padding:2px 15px;">
<select name="add[alarmplaylist]" id="playlist_wrongstyle" class="form-control" style="visibility:visible; background: transparent; width:250px;">
<?php foreach ($playlist as $playlistss){echo "<option value='"$playlistss'">$playlistss</option>'n";} ?>
</select>
</td>
我发现的问题:
即使PHP在JS的"IF"语句中,PHP仍然在运行,没有调用JS函数,这很奇怪,所以select是分配最后一个PHP变量。
我的解决办法:
可能不是最好的,但有效!我创建了另一个下拉菜单,填充了我想要的选项,然后使显示="无",然后当我点击它会触发我的功能与"onchange",并使其显示="块"和隐藏彼此,是完美的工作!
下面的代码:JS:
<script>
function checkSelectedScheduleType()
{
if (document.getElementById('radioSelected').checked)
{
document.getElementById("slplaylist").style.display="none";
document.getElementById("slradio").style.display="block";
}
else
{
document.getElementById("slplaylist").style.display="block";
document.getElementById("slradio").style.display="none";
}
}
</script>
HTML: <td class="alarmvalue" style="padding:2px 15px;">
<label class="switch-lightp2 well_" onchange="checkSelectedScheduleType()">
<input id="radioSelected" name="" type="checkbox" value="">
<span><span>Playlist</span><span>Radio</span></span><a class="btn btn-primary"></a>
</label>
</td>
<td class="alarmcat">
</tr>
<td class="alarmvalue" id="slplaylist" style="padding:2px 15px; display:block;">
<select name="add[alarmplaylist]" id="playlist_wrongstyle" class="form-control" style="visibility:visible; background: transparent; width:250px;">
<?php foreach ($playlists as $playlist){echo "<option value='"$playlist'">$playlist</option>'n";} ?>
</select>
</td>
<td class="alarmvalue" id="slradio" style="padding:2px 15px; display:none;">
<select name="add[alarmplaylist]" id="playlist_wrongstyle" class="form-control" style="visibility:visible; background: transparent; width:250px;">
<?php foreach ($radioStations as $playlist){echo "<option value='"$playlist'">$playlist</option>'n";} ?>
</select>
</td>
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid