我正在尝试从rails表单获取用户输入,并将该输入分配给coffeescript中的对象。我的观点看起来像......
<div class="from_date">
From Date
<input type="text" id="from_date" name="from_date"></input>
</div>
......我的咖啡脚本是......
jQuery ->
input = @value
alert @value
我的警报框中出现“未定义”。我错过了什么?
答案 0 :(得分:4)
你不能这样做因为你的观点是服务器端而咖啡脚本是客户端。除非JavaScript代码嵌入在服务器端脚本中,否则无法在JavaScript中访问Ruby变量。但是,应避免在服务器端视图中嵌入javascript并保持独立。
您可以使用cofeescript获取from_date
输入字段的值,如下所示:
jQuery ->
input = $('#from_date').val()
这会将from_date
输入字段中的值指定给input
变量。请注意,只要DOM准备就绪,就会发生此分配。
我不确定您的要求是否准备好在DOM上捕获from_date
的值。通常,这些分配是在某些事件上完成的,比如按一下按钮。对于这种情况,你会这样做:
jQuery ->
$('#my_button').click (evt) ->
input = $('#from_date').val()
* 由Lumbee编辑 我用的是......
jQuery ->
$("#from_date").blur ->
alert $('#from_date').val()