【问题标题】:Update wont work on ".sortable" list更新不适用于“.sortable”列表
【发布时间】:2011-12-15 19:48:14
【问题描述】:

我正在尝试在我的 wordpress 网站上使用 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">
$(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,它就不会更新!

如果有人能帮我解决这个问题,我将不胜感激!

【问题讨论】:

    标签: javascript jquery drag-and-drop jquery-ui-sortable


    【解决方案1】:

    尝试使用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/

    【讨论】:

    • 您好,我已尝试添加“noConfilt()”,但仍然无法正常工作。我发现这是更新函数和 php 文件之间的错误,因为我知道 "$j("#testinfo").load("process-sortable.php?"+homepageorder);"工作正常....我很困惑:s
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    相关资源
    最近更新 更多