【问题标题】:Pulling data from a widget in Dashing从 Dashing 中的小部件中提取数据
【发布时间】:2015-12-07 07:00:24
【问题描述】:
我创建了一个带有下拉菜单的小部件,我想使用在 HTML 下拉菜单中选择的值来更新我的 ruby 查询。我目前正在使用 nokogiri 来拉取本地主机仪表板。 nokogiri 能够从 sample.erb 中提取数据。但是,nokogiri 不会抓取包含实际信息(包括下拉菜单)的 HTML 文件。抓取的 HTML 与数据绑定 div 一起停止,当我打印出 nokogiri 拉动时,里面什么都没有出现。无论如何我可以获取整个 HTML 或将值从 HTML 或咖啡脚本传递给 ruby?
【问题讨论】:
标签:
javascript
jquery
ruby-on-rails
ruby
dashing
【解决方案1】:
在您的小部件中,您需要从 DOM 中获取数据。 nokogiri 只能获取您正在呈现的服务器端 HTML(发送到客户端的内容)。
包含用户在其中选择选项的数据的 HTML 实际上称为 DOM,您可以使用 JavaScript 获取信息——或者在本例中为咖啡脚本。
假设你有一个这样的下拉列表:
<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
祝你好运!