Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在每次调用另一个函数后调用javascript函数?_Javascript_Jquery_Ruby On Rails - Fatal编程技术网

如何在每次调用另一个函数后调用javascript函数?

如何在每次调用另一个函数后调用javascript函数?,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我有两个表,当单击相应的复选框时,我会在其中移动特定的行。 除了复选框外,由于x-editable库,每行还包含在线编辑字段 问题是,当我将某些行移动到另一个表中时,我无法再编辑其字段。似乎setXeditable()只运行一次,然后在调用另一个java脚本后,它就不会被执行。我必须重新加载页面才能再次编辑这些字段。我怎样才能解决它 application.js //= require jquery //= require jquery.turbolinks //= require jquery

我有两个表,当单击相应的复选框时,我会在其中移动特定的行。 除了复选框外,由于x-editable库,每行还包含在线编辑字段

问题是,当我将某些行移动到另一个表中时,我无法再编辑其字段。似乎setXeditable()只运行一次,然后在调用另一个java脚本后,它就不会被执行。我必须重新加载页面才能再次编辑这些字段。我怎样才能解决它

application.js

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require bootstrap3-editable/bootstrap-editable
//= require bootstrap-datepicker/core
//= require bootstrap-datepicker
//= require_tree .

#x-editable

var setXeditable;

$.fn.editable.defaults.mode = 'inline';

setXeditable = function() {
  return $("[data-xeditable=true]").each(function() {
    return $(this).editable({
      ajaxOptions: {
        type: "PUT",
        dataType: "json"
      },
      params: function(params) {
        var railsParams;
        railsParams = {};
        railsParams[$(this).data("model")] = {};
        railsParams[$(this).data("model")][params.name] = params.value;
        return railsParams;
      }
    });
  });
};

#function that moves rows

function pressing(arg){
      user_id = $(arg).attr('data-user-id')
      id = $(arg).attr('data-id')
      value = $(arg).is(":checked")
      $(arg).attr('data-id')
      html=$(arg).closest("tr")
      $(arg).closest("tr").remove()
      path = '/users/' + user_id + '/tasks/' + id

       if(value){
         complete = true;
         $('.completed-tasks').append(html)
       }
       else{
         complete = false;
          $('.incompleted-tasks').append(html)
        }

      $.ajax({
        url : path,
        type : 'PUT',
        dataType: "json",
        data: { task: {id: id, complete: value}}
      })
    }
$("#all-tasks").html("<%= j render 'index' %>")

setXeditable()
我正在我的index.js中调用setXeditable()

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require bootstrap3-editable/bootstrap-editable
//= require bootstrap-datepicker/core
//= require bootstrap-datepicker
//= require_tree .

#x-editable

var setXeditable;

$.fn.editable.defaults.mode = 'inline';

setXeditable = function() {
  return $("[data-xeditable=true]").each(function() {
    return $(this).editable({
      ajaxOptions: {
        type: "PUT",
        dataType: "json"
      },
      params: function(params) {
        var railsParams;
        railsParams = {};
        railsParams[$(this).data("model")] = {};
        railsParams[$(this).data("model")][params.name] = params.value;
        return railsParams;
      }
    });
  });
};

#function that moves rows

function pressing(arg){
      user_id = $(arg).attr('data-user-id')
      id = $(arg).attr('data-id')
      value = $(arg).is(":checked")
      $(arg).attr('data-id')
      html=$(arg).closest("tr")
      $(arg).closest("tr").remove()
      path = '/users/' + user_id + '/tasks/' + id

       if(value){
         complete = true;
         $('.completed-tasks').append(html)
       }
       else{
         complete = false;
          $('.incompleted-tasks').append(html)
        }

      $.ajax({
        url : path,
        type : 'PUT',
        dataType: "json",
        data: { task: {id: id, complete: value}}
      })
    }
$("#all-tasks").html("<%= j render 'index' %>")

setXeditable()
$(“#所有任务”).html(“”)
setXeditable()

为什么不能从move row函数添加对
setXeditable()
的调用

function pressing(arg){
      user_id = $(arg).attr('data-user-id')
      id = $(arg).attr('data-id')
      value = $(arg).is(":checked")
      $(arg).attr('data-id')
      html=$(arg).closest("tr")
      $(arg).closest("tr").remove()
      path = '/users/' + user_id + '/tasks/' + id

       if(value){
         complete = true;
         $('.completed-tasks').append(html)
       }
       else{
         complete = false;
          $('.incompleted-tasks').append(html)
        }

        setXeditable();

      $.ajax({
        url : path,
        type : 'PUT',
        dataType: "json",
        data: { task: {id: id, complete: value}}
      })
    }

如果您对此有任何问题,请告诉我。否则,你能接受我的回答吗?