6

我正在开发一个插件,在尝试使用 jQuery UI Sortable 时遇到了问题。我按照Codex中的说明进行操作,但问题仍然存在。jQuery UI sortable 不起作用,Firebug 说TypeError: jQuery(...).sortable is not a function

我在 WordPress 3.6 上运行,代码是:

<?php
/*
Plugin Name: Name
Description: Description
Version: 0.1
Author: Bloorchi
*/

add_action( 'admin_menu', 'my_plugin_admin_menu' );

function my_plugin_admin_menu() {
    add_action('admin_print_scripts-' . $page_hook_suffix, 'my_plugin_admin_scripts');
    $page_hook_suffix = add_submenu_page( 'edit.php', 'My Plugin', 'My Plugin', 'manage_options', 'my_plugin-options', 'my_plugin_manage_menu' );
}

function my_plugin_admin_scripts() {
    wp_enqueue_script( 'jquery-ui-sortable' );
}

function my_plugin_manage_menu() {
?>
<table id="test">
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td>
        </tr>
        <tr>
            <td>5</td>
            <td>6</td>
        </tr>  
    <tbody>    
</table>
<script>
    jQuery('table#test tbody').sortable();
</script>
<?php
}
4

3 回答 3

5

两件事,你有这个倒置:

$suffix = add_submenu_page( 
    'edit.php', 
    'My Plugin', 
    'My Plugin', 
    'manage_options', 
    'my_plugin-options', 
    'my_plugin_manage_menu' 
);
add_action( "admin_print_scripts-$suffix", 'my_plugin_admin_scripts');

你需要总是像这样运行 jQuery:

<script type="text/javascript">
jQuery(document).ready( function($) {
    $('table#test tbody').sortable();
});
</script>
于 2013-10-22T05:05:28.713 回答
1

她是在 wordpress 上创建可排序表的简单工具。

http://kvcodes.com/2013/12/create-sortable-tables-in-wordpress-front-end/

对于后端,试试这个。

http://kvcodes.com/2014/02/sortable-data-table-wordpress-frontback-end/

于 2014-02-26T05:47:24.870 回答
0

尝试禁用所有插件,然后重试。我有一个类似的问题,我发现问题出在其中一个插件中

于 2014-06-07T15:22:56.840 回答