在jquery替换之后应用CSS/javascript

在jquery替换之后应用CSS/javascript,jquery,html,ajax,refresh,partial-page-refresh,Jquery,Html,Ajax,Refresh,Partial Page Refresh,我在ajax请求后替换html表中的一行。 在一个成功的请求之后,我收到一个部分html片段,我用当前行替换它 $(“#id”)。替换为(响应) 现在我添加了一个复选框输入字段,并使用这个css和js库对其进行了PIMP 因此,在替换行之后,我只看到一个普通的普通输入复选框。而不是漂亮的开关。 如果刷新页面,则会呈现切换 有人能帮我指出这个问题吗? 我尝试在行和父级上使用触发器('create') 这是我用来更新表的代码,就像我提到的,它只做了一个替换 processRecord = (barC

我在ajax请求后替换html表中的一行。 在一个成功的请求之后,我收到一个部分html片段,我用当前行替换它

$(“#id”)。替换为(响应)

现在我添加了一个复选框输入字段,并使用这个css和js库对其进行了PIMP

因此,在替换行之后,我只看到一个普通的普通输入复选框。而不是漂亮的开关。 如果刷新页面,则会呈现切换

有人能帮我指出这个问题吗? 我尝试在行和父级上使用触发器('create')

这是我用来更新表的代码,就像我提到的,它只做了一个替换

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。当我替换时,这不会发生。请看这里:


谢谢

更换元件后,您必须再次初始化开关插件

success: (response, textStatus, xhr) ->
  $("#" + random_id).replaceWith(response)

      // assuming #scans is the parent of inputs
      var sc = $("#scans").

  if (!sc.hasClass('has-switch')) { // this is to prevent stacking
     sc['bootstrapSwitch'](); // if has-switch is not found, use switch plugin
  }

如果将JavaScript事件附加到元素,则可能需要将它们委托给父元素,或者在
replaceWith
完成后重新运行它们。如果没有更多的代码,我们将无法进一步帮助您。您可以尝试$(“#table_id_或_class”).trigger('create');不幸的是,触发操作不起作用