Установите «data-remote» условно - Javascript - PullRequest
0 голосов
/ 04 июня 2018

HTML-разметка выглядит следующим образом.

Для отправки запросов ajax я использую свойство data-remote.

<a class="text-blue fix-audit" href="<%= meter_path(@user, @property, audit_log) %>" data-remote="true" onclick="$('.ajax-loader-large').show();"> Fix  </a>

Мне нужно, чтобы это свойство data-remote выполнялось только при выполнении условия.

Если я добавляю свойство динамически, как указано ниже, оно не работает.

if(condition) { //condition is satisfied
   $('.fix-audit').attr("data-remote", "true")
}

Как это сделать?

1 Ответ

0 голосов
/ 04 июня 2018

Установка атрибута с помощью javascript, как вы делаете, вероятно, не работает, потому что UJS Rails, который ищет его, уже был оценен.

Здесь есть два решения:

1) Установите сторону удаленного атрибута сервера

<a class="text-blue fix-audit" href="<%= meter_path(@user, @property, audit_log) %>" data-remote="<%= condition %>" onclick="$('.ajax-loader-large').show();"> Fix  </a>

2) Скажите UJS Rails, чтобы снова оценили элемент после добавления атрибута

if(condition) { //condition is satisfied
   $('.fix-audit').attr("data-remote", "true")
   $.rails.handleRemote($('.fix-audit'))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...