我有表单标记
中的输入字段列表<div class="angefragte_stunden_<%= hour.id%>">
<%= h.text_field :angefragte_stunden %>
代码输出=&gt;
<div class="angefragte_stunden_458">
<input id="booking_user_458_angefragte_stunden" name="booking_user[458][angefragte_stunden]" size="30" type="text" value="32" />
...
我希望用户可以点击某个输入字段并将js替换为值(例如32)。
试过:
$(document).ready ->
$(".angefragte_stunden").on "click", ->
$(this).val(0)
没有成功,我对js / coffee不是很有经验。所以帮助会很棒。感谢
Thansk到目前为止.. 现在看来是一个不同的问题.. 当我提交表单时,新值0不会保存,而是保存旧值。如果我手工输入它,那么存储0 ..任何想法?
最终结果:
<%= form_for @hour_user, :url => ..._path, :remote => true, :method => :put do %>
<div class="angefragte_stunden">
<%= h.text_field :angefragte_stunden, :class => "submittable" %>
咖啡:
$ ->
$(".submittable").on 'change', ->
$(this).parents("form:first").submit()
$(this).effect "highlight", {}, 1500
$ ->
$(".angefragte_stunden > input").click ->
$(this).val(0)
$(this).parents("form:first").submit()
$(this).effect "highlight", {}, 1500
答案 0 :(得分:2)
你需要缩进你的coffeescript电话。 Coffeescript的块语法由缩进控制。
$(document).ready ->
$(".angefragte_stunden").on "click", ->
$(this).val(0)
相当于js
$(document).ready(function(){})
$(".angefragte_stunden").on("click", function(){})
$(this).val(0);
你想要
$(document).ready ->
$(".angefragte_stunden").on "click", ->
$(this).val(0)
在js中是
$(document).ready(function(){
$(".angefragte_stunden").on("click", function(){
$(this).val(0);
});
});
正如epascarello指出的那样,你还需要修复你的课程。如果要应用多个类,请在它们之间放置一个空格。 $(".angefragte_stunden")
会将一个元素与类angefragte_stunden
匹配,但不匹配angefragte_stunden_458
答案 1 :(得分:0)
您没有angefragte_stunden
如果要使用该选择器,则需要为其提供公共类。
更改
<div class="angefragte_stunden_<%= hour.id%>">
到
<div class="angefragte_stunden angefragte_stunden_<%= hour.id%>">
或使用带有选择器^=
的启动,但如果您开始使用其他类,则会很棘手。
答案 2 :(得分:0)
$(document).ready(function(){
$('#booking_user_458_angefragte_stunden').click(function() {
$(this).val(0);
});
});
答案 3 :(得分:-1)
您是否在输入标签内尝试了onClick =“this.value = 0”?