Blo*_*chi 6 wordpress jquery-ui
我正在处理一个插件,并遇到了一个问题,试图利用jQuery UI Sortable.我遵循了Codex中的指示,但问题仍然存在.Firebug说,jQuery UI可排序不起作用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
}
Run Code Online (Sandbox Code Playgroud)
    有两件事,你把它颠倒了:
$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');
Run Code Online (Sandbox Code Playgroud)
并且您需要始终像这样运行 jQuery:
<script type="text/javascript">
jQuery(document).ready( function($) {
    $('table#test tbody').sortable();
});
</script>
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           9853 次  |  
        
|   最近记录:  |