将小部件添加到边栏时触发提交事件

时间:2014-09-01 作者:Benjamin

当小部件添加到后端的特定侧栏时,我需要触发小部件的提交或“保存”按钮。原因是我正在为每个小部件内的下拉菜单设置特定的分类法。只要在添加小部件后点击“保存”按钮或在添加小部件后刷新页面,设置分类法的代码就可以正常工作。

这是我在jQuery中的代码,我使用它来捕获将小部件添加到侧栏时的Ajax事件,并触发submit按钮以强制执行保存操作。

$( document ).ajaxStop( function() {
    var $saveBtns = $(\'#products_sidebar\').find(\'input[submit]\').trigger(\'submit\');
} ); 
我正确地捕获了Ajax事件,并能够控制侧栏的内容:

console.log("sidebar: " + $(\'#products_sidebar\').html() );
但是,未触发提交操作。

谢谢

1 个回复
SO网友:Benjamin

基于offthe example @mrwweb provided above 还有一些额外的代码,下面是一个有效的答案。当一个小部件被添加到侧栏时,这个答案强制小部件保存。它找到所有的“保存”按钮并触发它们的点击事件,从而保存小部件。count变量用于阻止无止境循环的发生。

var count = 0;
$( document ).ajaxStop( function() {
    var $saveBtns = $(\'#products_sidebar, #blog_sidebar\').find(\'.widget-control-save\');
    if (count < $saveBtns.length) {
        $saveBtns.each( function( index, value ){
            $(value).trigger(\'click\');
            count++;
        });
    }
    else {
        count = 0;
        return;
    }

} );

结束

相关推荐

用“jquery.cycle.all.js”创建特殊的WordPress幻灯片

我想创建自己的幻灯片而不使用任何滑块插件Shear是我的代码--在页脚中---<script type=\"text/javascript\" src=\"<?php bloginfo( \'template_url\' );?>/js/jquery.cycle.all.js\"></script> <script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/