首页 > 解决方案 > 如何将值从 JavaScript 发送到表单并获取该值作为表单 ID

问题描述

我有一个完整的日历脚本。我已经为今天创建了一个事件(例如),现在我想编辑它,所以点击今天的日期我必须从 JavaScript 向我的表单发送一个值来编辑这个事件。

这是我的 onclick JavaScript 函数

var initialize_calendar;
initialize_calendar = function() {
  $('.calendar').each(function(){
      eventClick: function(event, jsEvent, view) {
        $.getScript(event.edit_url, function() {
          $('#event_id').val(event.id);
        });
      }
    });
  })
};
$(document).on('turbolinks:load', initialize_calendar);

$('#event_id').val(event.id);我在表单中输入的值为32。您可以在表单下方的表单输入字段中看到它

<form class="simple_form edit_event" id="edit_event_#{#event_id}" action="/securities/events/#{#event_id}" accept-charset="UTF-8" data-remote="true" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="_method" value="patch">
        <input type="hidden" value="32" name="event[id]" id="event_id">
</form>

我的问题是

相同的事件 id 32,我想在我的表单 id 中附加 asid="edit_event_32"和表单 action action="/securities/events/32"

标签: javascriptjqueryhtml

解决方案


您可以使用 jQueryparent()方法来获取元素的父级。获得父节点后,您可以id使用 jQueryattr()方法设置属性。代码如下。

$('#event_id').parent().attr('id','edit_event_'+event.id);

现在,要设置form动作,您仍然可以使用相同的技术。代码如下。

$('#event_id').parent().attr('action','/securities/events/'+event.id);

推荐阅读