Я заменяю строку в таблице html после запроса ajax. После успешного запроса я получаю частичную часть html, которую я заменяю текущей строкой.Применить CSS/javascript после jquery replaceWith
$ ("# ID"). ReplaceWith (ответ)
Теперь я добавил поле ввода флажок, и я развалюха его с помощью этой CSS и JS библиотеки Bootstrap Switch
Таким образом, после я заменяю в строке я вижу только обычный нормальный входной флажок. И не симпатичный переключатель. Если я обновляю страницу, то отображается рендеринг.
Может ли кто-нибудь помочь мне и указать на проблему этой проблемы? Я попытался использовать триггер ('create') в строке и родительском.
Это код, который я использую для обновления таблицы, например, я упомянул, что он выполняет только replaceWith.
processRecord = (barCode, random_id) ->
postParams = { barCode: barCode, ran_id: random_id }
$.ajax
url: '/scans'
type: 'post'
data: postParams
success: (response, textStatus, xhr) ->
$("#" + random_id).replaceWith(response)
$("#scans").trigger('create')
Я копал код переключения бутстрапа. Метод init приведет к добавлению дополнительного html к флажку ввода после рендеринга. Этого не происходит, когда я делаю замену. Посмотрите здесь: https://github.com/nostalgiaz/bootstrap-switch/blob/master/static/js/bootstrapSwitch.js#L14
Благодаря
Если у вас есть события JavaScript, связанные с элементом, вам, вероятно, необходимо делегировать их родительскому элементу или запустить их заново после завершения «replaceWith». Без вашего кода мы не можем помочь вам дальше. – Blazemonger
Можете ли вы попробовать $ ("# table_id_or_class"). Trigger ('create'); – vinothini
Действие триггера не работает, к сожалению – Niels