这里的底线是你需要在按钮上使用Javascript来加载pop-up/modal;然后在该新元素中显示 JSON 文件的内容。您如何显示 JSON 应该使用 AJAX 或使用 hidden div
--
模态
模态元素只是divs 绝对定位在页面上(在您的其他内容之上)。它们可以包含任何你想要的“普通”HTML,基本上只是让你给人一种pop-up 的印象。
它们实际上只是在事件绑定之后出现的支持 JS 的 div 元素。我建议将其中之一与您的按钮一起使用 - 您需要绑定按钮的“点击”事件以触发模式加载:
#app/assets/javascripts/application.js
$(document).on("click", ".button", function(){
// Trigger modal
});
您可以使用许多模态 JS 插件:
--
JSON
处理隐藏文本的方法会稍微复杂一些。
有两种方法:
- AJAX
2 隐藏分区
Ajax 方式是最有效的(避免将任何多余的数据添加到您的页面中);但这是最棘手的。
这是我要做的:
#app/assets/javascripts/application.js
$(document).on("click", ".button", function(){
$.ajax({
url: "your_json_url",
dataType: "json",
success: function(data){
// Trigger Modal
}
});
});
这将允许您创建模型并处理任何 JSON 请求,如下所示:
#app/controllers/your_controller.rb
respond_to :json, only: :your_json_action
def your_json_action
respond_with @your_code
end
这基本上将获取ajax 响应,并将其附加到您将能够显示的表单中。
-
另一种方法是使用hidden div:
#css
.hidden { display: none; }
#view
<table>
<tr>
<td>test</td>
<td>test2</td>
<td>
test3
<div class="hidden">
your json content here
</div>
</td>
</tr>
</table>