Как отправить значение из JavaScript в форму и получить значение в виде идентификатора формы - PullRequest
1 голос
/ 17 марта 2020

У меня есть полный календарь сценарий. Я уже создал событие на сегодня (например), теперь я хочу его отредактировать, поэтому при нажатии на сегодняшнюю дату я должен отправить значение из 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>

Моя проблема

Тот же идентификатор события 32, я хочу добавить в свой идентификатор формы как id="edit_event_32" и в действие формы action="/securities/events/32".

1 Ответ

2 голосов
/ 17 марта 2020

Вы можете использовать метод jQuery parent(), чтобы получить родительский элемент. После получения родителя вы можете просто установить атрибут id, используя метод jQuery attr(). Код будет выглядеть следующим образом.

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

Теперь, чтобы установить действие form, вы все равно можете использовать ту же технику. Код будет таким, как показано ниже.

$('#event_id').parent().attr('action','/securities/events/'+event.id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...