我正在尝试使用找到的http://www.jasny.net/bootstrap/javascript/#rowlink Jasny扩展从表行获取下拉菜单。不幸的是,我似乎无法让它显示下拉列表。我已经举例说明了迄今为止我所做的事情:
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered">
<thead>
<tr>
<th>
Heading
</th>
<th>
Heading
</th>
</tr>
</thead>
<tbody data-provides="rowlink">
<tr class="rowlink">
<td>
<div class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
Click For Dropdown Menu
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li>
<a tabindex="-1" href="#">
Action
</a>
</li>
<li>
<a tabindex="-1" href="#">
Another action
</a>
</li>
</ul>
</div>
</td>
<td>
Click For Dropdown Menu
</td>
</tr>
<tr>
<td>
Cell
</td>
<td>
Cell
</td>
</tr>
</tbody>
</table>
点击行将跟随href链接,而不是显示下拉菜单。 我可以将rowlink扩展名作为链接或调用模态窗口。 我也可以从单个单元格(没有jasny扩展名)得到一个下拉列表,但希望它能从整行开始工作。
答案 0 :(得分:8)
默认情况下,表格单元格内的引导程序下拉列表未正确显示(它们将显示在页面底部)。要解决此问题,您需要将容器的类设置为下拉列表。对于表格单元格,这将如下所示:
<td class="dropdown">
样本: http://jsfiddle.net/Sherbrow/unWCN/4/
PS:如果您不想更改表格单元格的样式,您还可以在单元格内创建一个div并将其类设置为“下拉列表”。
答案 1 :(得分:5)
组
<td style="overflow:visible">
它有效。
答案 2 :(得分:3)
不幸的是,rowlink只能与href一起使用,并且不会传播js事件。所以它不能用于下拉。
仔细查看下拉代码,表明在下拉列表初始化后,点击下拉切换功能并不比切换“打开”类更多。我们可以很容易地模仿它。现在我们只需确保在加载时初始化下拉列表,而不是点击和预置:)
请注意,我只使用rowlink css(而不是js)作为指针和链接样式。
<html>
<head>
<link href="css/bootstrap.css" rel="stylesheet">
</head>
<body>
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered">
<tbody>
<tr class="rowlink">
<td>
<div class="dropdown">
<a class="dropdown-toggle rowlink" data-toggle="dropdown" href="#">
Click For Dropdown Menu
</a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li>
<a tabindex="-1" href="#">
Action
</a>
</li>
<li>
<a tabindex="-1" href="#">
Another action
</a>
</li>
</ul>
</div>
</td>
<td>
Click For Dropdown Menu
</td>
</tr>
<tr><td>Cell</td><td>Cell</td></tr>
</tbody>
</table>
<script src="js/jquery.js"></script>
<script src="js/bootstrap-dropdown.js"></script>
<script>
$(function() {
$(this).find('.dropdown-toggle').dropdown();
$('.rowlink').on('click', function(e) {
$(this).find('.dropdown').toggleClass('open');
e.stopPropagation();
});
});
</script>
</body>
</html>
P.S。这个jsfiddle一直在崩溃我的浏览器:s
答案 3 :(得分:0)
你可以尝试这个::
<!DOCTYPE html>
<html>
<head>
<style>
body{font-family:arial;}
table{font-size:80%;background:black}
a{color:black;text-decoration:none;font:bold}
a:hover{color:#606060}
td.menu{background:lightblue}
table.menu
{
font-size:100%;
position:absolute;
visibility:hidden;
}
</style>
<script>
function showmenu(elmnt)
{
document.getElementById(elmnt).style.visibility="visible";
}
function hidemenu(elmnt)
{
document.getElementById(elmnt).style.visibility="hidden";
}
</script>
</head>
<body>
<h3>Drop down menu</h3>
<table width="100%">
<tr bgcolor="#FF8080">
<td onmouseover="showmenu('tutorials')" onmouseout="hidemenu('tutorials')">
<a href="/default.asp">Tutorials</a><br>
<table class="menu" id="tutorials" width="120">
<tr><td class="menu"><a href="/html/default.asp">HTML</a></td></tr>
<tr><td class="menu"><a href="/css/default.asp">CSS</a></td></tr>
<tr><td class="menu"><a href="/xml/default.asp">XML</a></td></tr>
<tr><td class="menu"><a href="/xsl/default.asp">XSL</a></td></tr>
</table>
</td>
<td onmouseover="showmenu('scripting')" onmouseout="hidemenu('scripting')">
<a href="/default.asp">Scripting</a><br>
<table class="menu" id="scripting" width="120">
<tr><td class="menu"><a href="/js/default.asp">JavaScript</a></td></tr>
<tr><td class="menu"><a href="/vbscript/default.asp">VBScript</a></td></tr>
<tr><td class="menu"><a href="default.asp">DHTML</a></td></tr>
<tr><td class="menu"><a href="/asp/default.asp">ASP</a></td></tr>
<tr><td class="menu"><a href="/ado/default.asp">ADO</a></td></tr>
</table>
</td>
<td onmouseover="showmenu('validation')" onmouseout="hidemenu('validation')">
<a href="/site/site_validate.asp">Validation</a><br>
<table class="menu" id="validation" width="120">
<tr><td class="menu"><a href="/web/web_validate.asp">Validate HTML</a></td></tr>
<tr><td class="menu"><a href="/web/web_validate.asp">Validate XHTML</a></td></tr>
<tr><td class="menu"><a href="/web/web_validate.asp">Validate CSS</a></td></tr>
<tr><td class="menu"><a href="/web/web_validate.asp">Validate XML</a></td></tr>
<tr><td class="menu"><a href="/web/web_validate.asp">Validate WML</a></td></tr>
</table>
</td>
</tr>
</table>
<p>Mouse over these options to see the drop down menus</p>
</body>
</html>