首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新加载下拉框内容?

重新加载下拉框内容?
EN

Stack Overflow用户
提问于 2016-09-01 13:46:46
回答 1查看 92关注 0票数 1

我已经无所事事了,所以我不得不问社区里是否有我需要的东西。

因此,我有一个下拉和一个开关(复选框),如果我按下开关,它应该加载下拉内容,让我们说“收音机”,如果我切换回来,它应该切换回下拉内容,让我们说“播放列表”。

以下是代码:

代码语言:javascript
复制
<?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
?>

剧本:

代码语言:javascript
复制
<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>

开关:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-01 16:16:57

我发现的问题:

即使PHP在JS "IF“语句中,php仍然在运行,没有调用JS函数(这很奇怪),因此select将分配最后一个php变量。

我的解决办法:

也许不是最好的,但成功了!我创建了另一个下拉列表,用我想要的选项填充它,然后生成Display="none“,然后单击它就会用"onchange”触发我的函数,并使它成为Display=“块”,并且隐藏在一起,并且工作非常完美!

代码如下:

联署材料:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39273280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档