http://www.therapistsurvey.com/vignette0/vig01
请注意,一旦您单击“查看父母的响应”,该链接将触发显示div的javascript这将使用以下行完成:
<%= javascript_include_tag :defaults %>
<%= link_to_function "Click to See Parents' Response: ", "Element.toggle('response')" %>
<div id="response" style="display:none">
//input
<%= button_to "Next", :action => 'vig02' %>
</div>
但是,在我的主模板布局中,我包含了以下jquery库:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<%= javascript_include_tag 'jquery-1.4.2', 'jquery.validate', 'application' %>
这基本上会禁用该操作。我需要这些库进行jquery验证。
我假设同时使用这两个库存在一些可比性问题。
如果您使用chrome并检查页面元素,您将看到生成错误:
加载页面时:
Uncaught TypeError: Object #<an Object> has no method 'dispatchEvent' prototype.js:4071
有时候点击链接:
Uncaught TypeError: Cannot read property 'display' of undefined
Element.Methods.visibleprototype.js:1579
Element.Methods.toggleprototype.js:1584
(anonymous function)vig01:59
onclickvig01:60
有关如何解决此问题的任何建议? 谢谢!
答案 0 :(得分:2)
不仅必须在prototype.js之前加载jQuery为user553463 says(这是通过将<script ... jquery
行放在HTML中更高的地方来实现的,以防你不知道),而是在使用jQuery和原型时.js你不能再使用$(selector)
语法,而是使用jQuery(selector)
代替原型.js也使用$
。
答案 1 :(得分:1)
刚刚使用了Jquery库:
<button>Click to See Parents' Response</button>
<script>
$("button").click(function () {
$("#response").toggle();
});
</script>
其中#response是您要显示/隐藏的div的ID。
答案 2 :(得分:0)
必须在原型
之前加载jquery