2014-10-06 55 views
1

我使用的是引导下拉组件,这对我来说目前看起来是这样的:防止引导下拉的回传

 <div class="dropdown"> 
      <button class="btn btn-default dropdown-toggle" id="btnSaukList" data-toggle="dropdown" runat="server" style="width: 100%"> 
       Select a Saukville contact 
       <span class="caret"></span> 
      </button> 
      <ul id="ulSaukContact" class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1" runat="server" style="width: 100%"> 
       <!--NOTE: Intentionally left blank; li's are generated by code behind to populate users from Sharepoint.--> 
      </ul> 
      <input id="inpSaukValue" type="hidden" /> 
     </div> 

default code sample here - 正如你所看到的,我的是不是不同的结构)

我的问题是,每次我点击下拉项时,回传被触发(浏览器跳转到该页面的顶部)。我敢肯定,这是因为默认的引导代码使用的是<button>始终包含回发。

根据有关此问题的其他SO文章,推荐使用<input>或来代替。那么我也不能做...

  • 不支持开始和结束标记之间的文本。
  • <input>不支持data-toggle属性,这似乎下拉需求。

我也试过把onclick="return false;"加到我的<button>无济于事。

我是新来引导并在一定程度上,ASP.net。

UPDATE: 这不是一个回传,它是一个链接到“#”,我很困惑,对不起!

+0

@Adriano我接着说:RUNAT =“服务器”'这样我就可以在代码中使用背后的价值......我会更新我的问题 – Paul 2014-10-06 08:04:01

+0

我补充说,但我有同样的事情。 – Paul 2014-10-06 08:15:43

+0

我认为这可能与href有关。如果你看看他们提供的原始代码片段,每个项目都有'A HREF =“#”'。现在,我试图找到一种方法来绕过,因为如果我完全删除了''链接,我无法点击的所有项目,我不得不重写可能的CSS。 – Paul 2014-10-06 08:23:02

回答

2

我觉得我很困惑这一个,并标记问​​题作为回传 - 它不是。在Bootstrap的默认代码片段中,每个下拉菜单项都包含一个指向“#”的链接。点击指向该链接的链接(<a href="#">)将会将浏览器发送到页面顶部。我认为这是一个页面刷新,但实际上并没有刷新。

速战速决是href="Javascript:;"更换href="#"。如果任何人有一个更好的解决方案,做股...