Javascript 重新加载下拉框内容?
我到处都是,什么都不管用,所以我不得不问社区是否有什么东西给我 所以,我有一个下拉列表和一个开关(复选框),如果我按下开关,它应该加载下拉列表的内容,比如说“收音机”,如果我把它切换回来,它应该切换下拉列表的内容,比如说“播放列表” 代码如下:Javascript 重新加载下拉框内容?,javascript,php,html,Javascript,Php,Html,我到处都是,什么都不管用,所以我不得不问社区是否有什么东西给我 所以,我有一个下拉列表和一个开关(复选框),如果我按下开关,它应该加载下拉列表的内容,比如说“收音机”,如果我把它切换回来,它应该切换下拉列表的内容,比如说“播放列表” 代码如下: <?PHP // Read playlist & Radio $playlists = explode("\n", shell_exec("/usr/bin/mpc lsplaylists")); array_pop(
<?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>
函数检查SelectedScheduleType()
{
if(document.getElementById('radioSelected')。选中)
{
警报(“无线电台选择填充下拉列表…”);
}
其他的
{
警报(“播放列表已选择,使用播放列表填充下拉列表…”);
}
}
开关:
<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变量
我的解决方案:
也许不是最好的,但很有效!我创建了另一个下拉列表,用我想要的选项填充它,然后使Display=“none”,然后当我点击它时,它将触发我的函数“onchange”,并使其Display=“block”和隐藏彼此,并且工作得很好
代码如下:
JS:
函数检查SelectedScheduleType()
{
if(document.getElementById('radioSelected')。选中)
{
document.getElementById(“slplaylist”).style.display=“无”;
document.getElementById(“slradio”).style.display=“block”;
}
其他的
{
document.getElementById(“slplaylist”).style.display=“block”;
document.getElementById(“slradio”).style.display=“无”;
}
}
HTML:
播放收音机
我发现的问题:
即使PHP在JS“IF”语句中,PHP仍然在运行,没有调用JS函数,这很奇怪,因此select正在分配最后一个PHP变量
我的解决方案:
也许不是最好的,但很有效!我创建了另一个下拉列表,用我想要的选项填充它,然后使Display=“none”,然后当我点击它时,它将触发我的函数“onchange”,并使其Display=“block”和隐藏彼此,并且工作得很好
代码如下:
JS:
函数检查SelectedScheduleType()
{
if(document.getElementById('radioSelected')。选中)
{
document.getElementById(“slplaylist”).style.display=“无”;
document.getElementById(“slradio”).style.display=“block”;
}
其他的
{
document.getElementById(“slplaylist”).style.display=“block”;
document.getElementById(“slradio”).style.display=“无”;
}
}
HTML:
播放收音机
<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>
<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>