在Dashing中从小部件中提取数据

时间:2015-11-23 21:32:23

标签: javascript jquery ruby-on-rails ruby dashing

我创建了一个带有下拉菜单的小部件,我想用HTML下拉菜单中选择的值更新我的ruby查询。我目前正在使用nokogiri来拉取localhost仪表板。 nokogiri能够从sample.erb中提取数据。但是,包含实际信息(包括下拉列表)的HTML文件不会被nokogiri抓取。 HTML抓取停止与数据绑定div,当我打印出nokogiri拉出现时,内容中没有任何内容。无论如何,我可以抓取整个HTML或将值从HTML或coffeescript传递给ruby吗?

1 个答案:

答案 0 :(得分:1)

在窗口小部件中,您需要从DOM中获取数据。 nokogiri只能获取您正在呈现的服务器端HTML(发送给客户端的内容)。

包含用户选择选项的数据的HTML实际上称为DOM,您可以使用JavaScript获取信息 - 或者在本例中为coffeescript。

假设您有这样的下拉列表:

<select id='day-of-week'>

您可以将处理程序绑定到它的更改事件并对其进行响应,如下所示:

dropdown = $('#day-of-week'); // Use jQuery to get the select by id
dropdown.on 'change', () ->
  selectedValue = $(this).val(); // jQuery to get selected value of dropdown

在开始构建小部件之旅之前,您可能想要了解更多关于HTML / JS的知识。这里有关于DOM的一些文档可以帮助您入门:

https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model

祝你好运!