如何访问链接的“previous”方法
How to I get access to the `previous` method for a link?
我正试图遵循嵌套模型表单的railscast,但在编写Java Script
时遇到了问题。我已经使用Rails
几个星期了,但这是我第一次遇到JavaScript
,所以如果这听起来有点棘手,请原谅我。
我正试图按照强制转换的建议从表单中删除元素,但它给了我以下错误。(我正在使用Chrome的调试工具来查看错误(
未捕获的类型错误:Object[Object Object]没有方法"previous"application.js?body=1:10222
remove_class_row application.js?body=1:10222
onclick read:95
这是我的视图,/app_root/app/views/classifications/read.html.erb:
<table id="classification_read_table">
<tr ><td id="classification_read_table_td">
<b>Classification</b>
</td></tr>
<%= form_tag read_build_path %>
<% @classes.each do |f| %>
<div class="class_row">
<tr >
<td class="classification_read_table_td">
<%= fields_for "class_is[]", f do |g| %>
<%= g.label :name %>
<%= g.text_field :name %>
<%= g.hidden_field :_destroy%>
<%= link_to_function "remove", "remove_class_row(this)" %>
</td>
</tr>
</div>
<% end %>
<% end %>
</table>
这是我的JS文件app_root/app/assets/javascript/application.JS:
function remove_class_row(link) {
$(link).previous("input[type=hidden]").value = "1"; //Error on this line:
$(link).up(".class_row").hide();
}
我正在做javascript,就像rails cast显示的那样,所以我不明白可能出了什么问题。我的第一个想法是,我试图做的是被否决?或者由于某种原因,我的HTML设置不正确。
希望有人能指出我所缺少的平凡的细节。
谢谢!!
我想您可能正在寻找.prev()
。此外,您应该使用.val()
来使用jQuery设置字段值。
$(link).prev("input[type=hidden]").val("1");
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 打破承诺链的好方法是什么
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 使用“;这个“;JavaScript原型方法中的关键字
- 序列化数据属性中对象的最可靠方法
- 使用Objective-C的JavaScript注入方法
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 有没有一种方法可以防止img get请求使用css或js发生
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- toBoolean方法类似于toString
- 如何在单击复选框后调用控制器方法
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 有条件更新d3.js力图中节点的最佳方法
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- 如何访问链接的“previous”方法