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