gpt4 book ai didi

javascript - 如何将自动生成的表单元素 ID 发送到 javascript 函数?

转载 作者:行者123 更新时间:2023-11-30 06:05:54 25 4
gpt4 key购买 nike

我正在尝试从 Rails 3 项目中的表单页面调用 javascript 函数。我需要向函数发送特定元素的 ID。不幸的是,我无法轻松获取 ID,因为它是由插件自动生成的。

我试过这样做:

<%= t.select :number_type, @id_types, {}, {:onchange => "has_other_field(' + the_value.id.to_s + "');"} %>

<% if (!the_value.nil?) && (!the_value.number_type.nil?) && !@id_types_sm.include? the_value.number_type) %>
<script type="text/javascript">
setup_other_field("<%= the_value.number_type %>", ###ID WOULD GO HERE###);
</script>
<% end %>

.. 但是因为我不知道元素的 ID,所以我不能从函数中调用它。

所以现在我正在尝试通过在输入元素加载时从“onload”调用函数来这样做:

<% if (!the_value.nil?) && (!the_value.number_type.nil?) && (!@id_types_sm.include? the_value.number_type) %>
<%# Call the function from the form helper only if the conditions are met %>
<%= t.select :number_type, @id_types, {}, {:onchange => "has_other_field(this.id);", :onload => "setup_other_field('" + the_value.number_type + "', this.id);"} %>
<% else %>
<%# Use the form helper without calling the function %>
<%= t.select :number_type, @id_types, {}, {:onchange => "has_other_field(this.id);"} %>
<% end %>

但我意识到 onload 不适用于这种情况。有什么解决方法吗?我怎么可能

A) 从字段中获取元素 ID 到第一个选项中的函数,或者

B) 每当它加载时从这个输入元素调用这个函数?

... 或 C) 执行此操作的替代方法?

提前致谢,如果更多详细信息有帮助,请告诉我。

最佳答案

如果您在模型中保存了 ID,请使用 <%= model.id %> 获取它

这条规则的异常(exception)是当你创建对象时,它是在它被写入数据库之前。如果你去编辑或其他任何地方都可以。

如果您在页面的某处有它:/那么您可以使用 jQuery 为您获取它。

ABC

$("#id_of_the_element").attr('attr_with_my_id')

< input id="id_of_the_element ... >

$("#id_of_the_element").value 

关于javascript - 如何将自动生成的表单元素 ID 发送到 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4787917/

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