【问题标题】:Is there a way to use Thickbox with dynamic content?有没有办法使用带有动态内容的Thickbox?
【发布时间】:2008-11-03 02:28:12
【问题描述】:

这是场景:

我在网页上有一个文本框和一个按钮。单击按钮时,我希望打开一个弹出窗口(使用厚框),它将显示与文本框中输入的值匹配的所有项目。我目前正在使用Thickbox 的IFrame 实现。问题是要显示的 URL 被硬编码到按钮的“alt”属性中。我真正需要的是“alt”属性将文本框中的值传递给弹出窗口。

这是目前为止的代码:

<input type="textbox" id="tb" />
<input alt="Search.aspx?KeepThis=true&TB_iframe=true&height=500&width=700" class="thickbox" title="Search" type="button" value="Search" />

理想情况下,我想将文本框值放入 Search.aspx url,但我似乎无法弄清楚如何做到这一点。我目前的替代方法是使用 jQuery 设置搜索按钮的单击功能,以调用将在 ASP.NET 会话中设置一些值的 Web 服务。然后 Search.aspx 页面将使用会话变量进行搜索。但是,这有点不稳定,因为似乎总是有可能在设置会话变量之前执行搜索。

【问题讨论】:

    标签: asp.net jquery thickbox


    【解决方案1】:

    只需处理按钮的 onclick 即可运行调用 tb_show() 的函数,并传递文本框的值。类似的东西

    ... onclick = "doSearch()" ...
    
    function doSearch()
    {
        tb_show(caption, 'Search.aspx?KeepThis=true&q=\"' +
                $('input#tb').val() +
                '\"&TB_iframe=true&height=500&width=700');
    }
    

    【讨论】:

    • 这正是我想要的。谢谢!如果我能投票给你 10 次,我会的。 :-)
    【解决方案2】:

    如果您阅读手册,在 iframe 内容部分下,它会告诉您您的参数需要放在 TB_iframe 参数之前。之后的一切都被剥离。

    【讨论】:

      【解决方案3】:

      这是一个想法。我不认为它很漂亮,但应该可以:

      $('input#tb').blur(function(){ 
        var url = $('input.thickbox').attr('alt');
        var tbVal = $(this).val();
      
        // add the textbox value into the query string here
        // url = ..
      
        $('input.thickbox').attr('alt', url);
      
      });
      

      基本上,每次文本框失去焦点时,您都​​会更新按钮 alt 标签。相反,您还可以收听击键并在每次击键后进行更新。

      至于更新查询字符串,我会让你找出最好的方法。我可以看到在其中放置了一个占位符,例如:&TB=TB_PLACEHOLDER。然后你可以做一个字符串替换。

      【讨论】:

      • 试过了。 alt 肯定会生效,但Thickbox 插件似乎并不尊重它。它仍然使用原始 URL。 :-(
      【解决方案4】:

      code-behind 中,您也可以直接添加 alt 标签,

      button1.Attributes.Add("alt", "Search.aspx?KeepThis=true&TB_iframe=true&height=500&width=700");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-24
        • 2021-03-15
        相关资源
        最近更新 更多