Dojo切换selectableLegend

时间:2013-02-06 03:21:34

标签: jquery charts dojo

我正在寻找一种更好的方法来切换Dojo Legends。不幸的是它们不是直接的复选框,所以我让它工作的唯一方法是在dojo复选框上触发click事件

目前我使用以下内容:

$('.dojoxLegendText').each(function(index) {
  var lblText = $.trim($(this).text());
  //if statement here to determine if legend should be toggled
  $(this).trigger('click');
});

我的问题是在传说被切换的同时滚动页面。用户不是很满意。

任何人都有更好的替代方案或解决方案来阻止滚动?

2 个答案:

答案 0 :(得分:0)

他们是dijit复选框。尝试使用

获取它们
  

firstcheckbox = dijit.byId( “dijit_form_CheckBox_0”);   secondcheckbox = dijit.byId( “dijit_form_CheckBox_1”);

“dijit_form_CheckBox_0”表示小部件的ID。道场给了他们 自动完成,所以尝试将鼠标悬停在使用firebug的复选框上进行查看 在id。

您可以使用以下方式取消选中:

  

firstcheckbox.set( “选中”,假);

获取小部件的更好方法是使用dojo来获取图例中的小部件。 看看这里:

Is there a way in Dojo to find all widget descendants in a DOM element?

答案 1 :(得分:0)

我创建了一个名为toggleSeries的函数,您可以使用它来打开和关闭图例/复选框:

function toggleSeries (legend,num) { // legend = SelectableLegend

dojo.query("*",legend.legends[num])[0].click();

dijit.findWidgets(legend.legends[num])[0]._onClick(); }

这是一个jsfiddle示例:

http://jsfiddle.net/luciancd/92Dzv/17/

有关该功能的更多信息,请查看我的帖子:

Hiding a series by default in a spider plot

卢西恩