Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 如何从当前X-Editable的成功功能触发打开新的X-Editable?_Javascript_Jquery_Twitter Bootstrap_X Editable - Fatal编程技术网

Javascript 如何从当前X-Editable的成功功能触发打开新的X-Editable?

Javascript 如何从当前X-Editable的成功功能触发打开新的X-Editable?,javascript,jquery,twitter-bootstrap,x-editable,Javascript,Jquery,Twitter Bootstrap,X Editable,我使用的是允许人们在线编辑他们的个人资料。但是,用户可以编辑的内容之一会影响另一个可编辑的内容。如果“可编辑A年度”设置为当前年度,则用户有义务在“可编辑B年度”中决定某一税率 因此,可编辑年份的可编辑选项如下: $('#year').editable({ pk: 1, success: function(response, newValue){ if (newValue == 2014){ $('#tax_rate').trigger('

我使用的是允许人们在线编辑他们的个人资料。但是,用户可以编辑的内容之一会影响另一个可编辑的内容。如果“可编辑A年度”设置为当前年度,则用户有义务在“可编辑B年度”中决定某一税率

因此,可编辑年份的可编辑选项如下:

$('#year').editable({
    pk: 1,
    success: function(response, newValue){
        if (newValue == 2014){
            $('#tax_rate').trigger('click');
        } else {
            $('#tax_rate').html(2);
        }
    }
});
除了2014年,它的行为正常,在2014年,它确实会将正确的值发布到后端,随后确实会单击/打开tax_rate,但不知何故,单击会阻止在2014年中正确显示新的一年。如果我刷新页面,年份会再次正确显示,但就在我尝试触发其他可编辑的页面时,它在保存年份后不会正确显示年份。试着把今年开到2014年,看看我的意思


那么,有人知道我如何在DOM中更新新年,并单击/打开可编辑的税率吗?欢迎所有提示

我建议您使用异步UI交互:

像这样:

$('#year').editable({
    pk: 1,
    success: function(response, newValue){
        if (newValue == 2014){
          setTimeout(function(){
             $('#tax_rate').trigger('click');
          }, 0); 
        } else {
            $('#tax_rate').html(2);
        }
    }
});
我认为它应该能正常工作

加: 还可以使用触发单击事件vanillaJS框架。 我认为$.trigger导致某些UI更新错误。 很简单:

document.getElementById('tax_rate')
  .dispatchEvent(new Event('click'));

你需要一些额外的信息吗?我添加了另一种方法来解决这个问题。太棒了,这确实有效!虽然现在问题已经解决了,但您是否知道为什么X-Editable会有这样的行为?这似乎是一个魔术:我认为这里的实现很差。类似于通过硬编码超时更新不可见元素。