如何将引导下拉列表添加到列表元素内的按钮

时间:2015-07-15 13:12:22

标签: javascript html twitter-bootstrap d3.js twitter-bootstrap-3

我有一个由li函数添加到页面的d3.append元素列表。 我希望每个li都有一个带下拉列表的按钮,显示一些选项。

我正在添加d3的下拉列表:

var innerUl = li.append("ul")
    .attr("class","dropdown-menu");

innerUl.selectAll("li")
    .data(function(d) { return d.style_aliases; })
    .enter()
    .append("li").html(function(d) { return d; });

但是,单击下拉按钮时,没有任何反应。但我可以在元素检查器中看到添加的下拉列表ul。 我正在尝试做的事情就是: https://jsfiddle.net/mofoyoda/dcy4xb7j/1/

请帮我透露每个按钮的下拉列表。

1 个答案:

答案 0 :(得分:0)

您的问题似乎是通过不将按钮放在自己的范围内来解决的

<?php

//input your json here
$json = '*** Your json ***'; 

//Decodes a JSON string. 
$array = json_decode($json);

//uncomment the next to line sif you want to echo the array
//echo "<pre>";
//print_r($array);

$text = $array->jquery[14][3][0];
echo $text;
?>

按钮和相关的下拉列表似乎需要位于同一个父元素中。下拉列表位于错误的位置,但这应该是一个简单的CSS问题需要修复。或者,确保按钮和下拉列表在li.append("button") .attr("class", "btn btn-default dropdown-toggle btn-layerstyle") .attr("data-toggle", "dropdown") .attr("aria-haspopup", "true") .attr("aria-expanded", "false") .html("Style: ") //default style name should be concatenated here .append("span") .attr("class","caret"); 范围内可能会产生相同的效果。

您可以在一个语句中偶然设置多个attr值

span