gpt4 book ai didi

javascript - 将 html 数据属性添加到 simple_forms 输入

转载 作者:行者123 更新时间:2023-12-01 10:36:36 27 4
gpt4 key购买 nike

我正在尝试实现一个 javascript 插件,该插件要求我将数据属性:data-region-id 添加到选择输入。我已尝试按如下方式执行此操作(您要查找的输入是 :country,倒数第三个):

<div id="capdiv">
<h1>People#edit</h1>
<p>Find me in app/views/people/edit.html.erb</p>
<%= simple_form_for @person, url: url_for(action:'update', controller:'people'), update: { success: "response", failure: "error"} do |f| %>
<div class="clearfix entity-add nested-fields person">
<div class="dynamic-container">
<div class="symegrid">
<div class="form-inline">
<%= f.input :fname, input_html: {class: 'fname form-input form-control fifty'}, label: "First Name" %>
<%= f.input :lname, input_html: {class: 'lname form-input form-control fifty'}, label: "Last Name" %>
</div>
<div class="form-inline">
<%= f.input :email, as: :email, input_html: {class: 'email form-input form-control'}, label: "Email" %>
<%= f.input :telephone, input_html: {class: 'telephone form-input form-control'}, label: "Telephone" %>
</div>
<div class="form-inline">
<%= f.input :street, input_html: {class: 'street form-input form-control'}, label: "Street" %>
<%= f.input :city, input_html: {class: 'city form-input form-control'}, label: "City" %>
</div>
<div class="form-inline"><%= f.input :country, as: :select, input_html: {data-region-id: "person_state", class: 'country form_control crs-country'}, label: "Country" %></div>
<div class="form-inline">
<%= f.input :state, as: :select, input_html: { id: "person_state", class: 'state form-control' }, label: "State/Province" %>
<%= f.input :zip, input_html: {class: 'zip form-input form-control'}, label: "Zip" %>
</div>
</div>
</div>
</div>
<% end %>
</div>

但是,当我尝试加载页面时,出现以下错误消息:

SyntaxError (/home/sam/Dropbox/railsproject/legal/app/views/people/edit.html.erb:20: syntax error, unexpected tLABEL
...t, input_html: {data-region-id: "person_state", class: 'coun...
... ^
/home/sam/Dropbox/railsproject/legal/app/views/people/edit.html.erb:20: syntax error, unexpected ',', expecting ')'
...data-region-id: "person_state", class: 'country form_control...
... ^
/home/sam/Dropbox/railsproject/legal/app/views/people/edit.html.erb:20: syntax error, unexpected '}', expecting ')'
...ntry form_control crs-country'}, label: "Country" );@output_...
... ^):
app/views/people/edit.html.erb:20: syntax error, unexpected tLABEL
app/views/people/edit.html.erb:20: syntax error, unexpected ',', expecting ')'
app/views/people/edit.html.erb:20: syntax error, unexpected '}', expecting ')'

我应该如何添加这个属性?我在想,最坏的情况是,我可以在页面加载后使用一些 javascript 强制执行它,但这似乎没有必要。

提前致谢。

最佳答案

问题是您不能将 data-region-id 声明为 Ruby 中的符号,破折号是无效字符。您可以符号化一个字符串,如下所示:

"data-region-id"=> "person_state"

我相信创建自定义数据属性的“Rails 方式”是嵌套它,如下所示:

data: {region_id: "person_state"} # Rails 会将下划线转换为破折号

关于javascript - 将 html 数据属性添加到 simple_forms 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34324829/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com