如何使用 url 参数显示/隐藏 id 与参数名称匹配的 div

Posted

技术标签:

【中文标题】如何使用 url 参数显示/隐藏 id 与参数名称匹配的 div【英文标题】:How can I use url parameters to show/hide a div with id that matches param name 【发布时间】:2020-10-21 12:01:08 【问题描述】:

我正在使用 bootstrap/jquery 在 html 中进行会议注册项目,并为每个注册者构建了一个唯一的 url,该 url 使用 url 参数捕获他们的会话选择。如果会议会话 id 是 THU_3PM,则 url 参数和值将是 THU_3PM=1 如果他们选择它,或者 THU_3PM=0 如果他们没有选择。我有大约 30 个会话,所以我有多个参数要查看。

在他们简单的“检查我的日程安排”页面上,我为每个会话提供了具有匹配 ID 的 div,我的想法是默认隐藏所有会话 div,然后显示与 = 1 的 url 参数相对应的 div。

我在试图解析查询字符串时遇到了麻烦,我想我最好还是寻求帮助。有人有一个简单的 jquery 或 javascript 示例可以帮助我吗?我会非常感激。

【问题讨论】:

您的后端看起来是.php 还是您最初加载这些 div 的 .HTML 文件?你的网址是什么样子的? 【参考方案1】:

也许您可以尝试处理 AJAX ? 类似于 jQuery 中的东西:

$.ajax(
        type: 'POST',
        url: 'youScript.php',
        data:  'checkSession': 'true' ,
        success: function(response) 
            if (response == 'disable') 
                $('div').hide();
                // OR
                $('div').css('display', 'none');
                // OR
                $('div').addClass('hidden');
            
        
    );

和 PHP 类似的东西:

if (isset($_POST['checkSession'])) 
    if (!isset($_GET['THU_3PM']) && $_GET['THU_3PM'] == 0) 
        echo 'disable';
    

希望对你有帮助:)

【讨论】:

【参考方案2】:

这是我根据related question/answer 得出的结论。

var getUrlParameter = function getUrlParameter(sParam) 
    var sPageURL = window.location.search.substring(1),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) 
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) 
            return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
        
    
;
if (getUrlParameter('MON_3PM') === "1") 
    $('#MON_3PM').show();
 else 
    $('#MON_3PM').hide();
;

我敢肯定,仍然可以更有效率,但很高兴有一些工作!

【讨论】:

以上是关于如何使用 url 参数显示/隐藏 id 与参数名称匹配的 div的主要内容,如果未能解决你的问题,请参考以下文章

Rails - 如何将 id 数组作为隐藏字段的参数传递?

Laravel:如何隐藏 url 参数?

隐藏来自数据库的PHP URL参数

navtab方法参数以及事件

Vue路由器上的可选参数

隐藏Url中的参数