2011-12-15 15 views
2

私はWordPressのウェブサイトでJqueryの "ソート可能な"リストを使用しようとしていますが、ソート可能な間は何らかの理由で更新機能を実行していないようです。アップデートは ".sortable"リストで動作しません

ヘッダーコード:

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-ui-1.7.1.custom.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#test-list").sortable({ 
    handle : '.handle', 
    update : function() { 
     var homepageorder = $('#test-list').sortable('serialize'); 
     $("#testinfo").load("process-sortable.php?"+homepageorder); 
    } 
    }); 
}); 
</script> 

ボディコード:

<pre> 
<div id="testinfo">Waiting for update</div> 
</pre> 
<ul id="test-list"> 

<?php 
$dbhost       = "**********"; 
$dbuser       = "**********"; 
$dbpass       = "**********"; 
$dbname       = "**********"; 

$con = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to mysql"); 

mysql_select_db("arcadetheme1", $con); 

$result = mysql_query("SELECT * FROM homepageorder ORDER BY position") or die(mysql_error());; 

while($row = mysql_fetch_array($result)) 
{ 
    echo '<li id="listItem_'.$row['id'].'"><img src="http://localhost/new-arcade-theme-one/wp-content/themes/fungames/images/arrow.png" alt="move" width="16" height="16" class="handle" /><strong>Item '.$row['id'].'</strong></li>'; 
} 

mysql_close($con); 


?> 
</ul> 

プロセス-ソート可能:

ここ

は、私が使用していたコードです

$dbhost       = "**********"; 
$dbuser       = "**********"; 
$dbpass       = "**********"; 
$dbname       = "**********"; 

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to mysql"); 
mysql_select_db($dbname); 

foreach ($_GET['listItem'] as $position => $item) : 
$query = "UPDATE `homepageorder` SET `position` = $position WHERE `id` = $item"; 
mysql_query($query) or die('Error, insert query failed'); 
$sql[] = "UPDATE `homepageorder` SET `position` = $position WHERE `id` = $item"; 
endforeach; 

print_r ($sql); 

私はこのコードを自分で試してみましたが、完璧に動作しているようですが、WordPressに追加すると直ぐに更新されません!

誰かが私にこれを手伝うことができれば、私は大変感謝しています!

答えて

0

jQuery.noConflict()を試してください。最終コードには、jQueryのバージョンが競合している可能性があります。このよう

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-ui-1.7.1.custom.min.js"></script> 
<script type="text/javascript"> 

var $j = jQuery.noConflict(); 

$j(document).ready(function() { 
    $j("#test-list").sortable({ 
    handle : '.handle', 
    update : function() { 
     var homepageorder = $j('#test-list').sortable('serialize'); 
     $j("#testinfo").load("process-sortable.php?"+homepageorder); 
    } 
    }); 
}); 
</script> 

http://digwp.com/2009/06/including-jquery-in-wordpress-the-right-way/

+0

こんにちは、私は "noConfiltを()" を追加しようとしている参照してくださいが、それはまだ動作していません。私は、 "$ j("#testinfo ")load(" process-sortable.php? "+ homepageorder);までのすべてを知っているので、更新関数とPHPファイルの間にエラーがあることを発見しました。うまく動作します....私は混乱している:s – DigitalBuilder

関連する問題