首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ruby on Rails中使用带有form.select的jquery .click()方法?

如何在Ruby on Rails中使用带有form.select的jquery .click()方法?
EN

Stack Overflow用户
提问于 2021-01-27 06:49:43
回答 1查看 27关注 0票数 0

我有一个带有选择输入的表单,名为units_system,可以是公制的也可以是英制的。

代码语言:javascript
复制
<%= form.select :units_system, [['metrical', id: 'metrical'], ['imperial', id: :imperial]], {prompt: 'Select units system'}, {class: "form-control", id: :item_units_system}%>

它正在生成html

代码语言:javascript
复制
<select class="form-control" id="lot_units_system" name="lot[units_system]"><option value="">Select units system</option>
<option id="metrical" value="metrical">metrical</option>
<option id="imperial" value="imperial">imperial</option></select>

根据我的选择,我想在<div id=”cargo_form”></div>中渲染不同的部分

如果我点击id=“METRICAL”,我想在<div id=”cargo_form”></div>中看到文本“METRICAL”。

所以我在我的new.js.erb下一个jquery代码中写道:

代码语言:javascript
复制
$('#metrical').click(function(e) {
    e.preventDefault();
    $('#cargo_form').html('METRICAL');
});

但是什么都不会发生。我在<div id=”cargo_form”></div>中看不到任何结果

我做错了什么?感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-27 11:08:04

您希望将代码放入您的webpack application.js或assets管道中。

代码语言:javascript
复制
$(document).on('click', '#metrical', function(e) {
  e.preventDefault();
  $('#cargo_form').html('METRICAL');
});

服务器端的问题--这基本上是Rails、为JS发送XHR请求和呈现js.erb视图的组合,它基本上只是用服务器端生成的字符串替换页面中的内容。这使您可以在前端重用服务器端模板。

它们通常如下所示:

代码语言:javascript
复制
document.querySelector('#someElement')
        .innerHTML = "<%= j(render 'something') %>";

当Rails UJS将javascript响应弹出到脚本标记中时,这实际上只是替换了页面上的内容。

当您只是添加一个简单的事件处理程序时,根本不需要SSC。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65910406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档