【问题标题】:jQuery + ajax livesearchjQuery + ajax 实时搜索
【发布时间】:2010-06-07 19:30:00
【问题描述】:

我正在使用 w3schools 上的示例进行 mysql 数据库搜索并通过 ajax livesearch 检索一些结果,我想操作这些结果(拖放它们)但我遇到了问题,因为脚本在您输入搜索之前加载并且得到结果,所以它绝对没有搜索结果。对这个问题有什么想法吗?

【问题讨论】:

  • w3schools 上的哪个例子?你在使用 jqueryui 自动完成插件(jqueryui.com)吗?您是在操纵结果(而不是拖放)还是用户?这是拖放还是可排序的?这些调用和初始化应该在文档准备好而不是脚本加载时完成,这可能是一个很好的起点。 api.jquery.com/ready
  • 我正在使用此实时搜索w3schools.com/PHP/php_ajax_database.asp,我正在尝试像这里demo.tutorialzine.com/2009/09/shopping-cart-php-jquery/demo.php 一样拖放结果。我确定搜索工作正常,我用实时搜索替换了它,它工作得很好,但是当使用实时搜索(并用 firebug/chrome 控制台观看它)时,我注意到 div 和类不受脚本的影响到底,你是说脚本加载后显示结果与它无关?

标签: php jquery mysql ajax livesearch


【解决方案1】:

啊-感谢您的澄清。

您要拖动的元素是在拖放初始化之后创建的。您需要使它们可拖动:

例如,将“dragMe”作为类添加到项目中。从服务器填充列表后,使这些项目可拖动:

$('.dragMe').draggable();

我会真的研究 jQuery 的 ajax 函数及其 autocomplete

为了澄清和 jquery(针对您引用的示例):

function showUser(str)
{
   $.get( 'getuser.php', { q: str },
       function(data) {
          $('#txtHint').html( data ); // add the returned content to #txtHint
          $('#txtHint').find('.dragItem').draggable(); //make the new items draggable
       }, 'html' );
}

在您的 php 中,更改您的显示,使其成为可以拖动的块。

while($row = mysql_fetch_array($result))
  {
  echo "<div class="dragItem">"; // see how we're adding the 'dragItem' class? 
  echo "Firstname " . $row['FirstName'];
  echo "</div>";
  }

除此之外,您真的需要做更多的研究以更好地了解正在发生的事情。

【讨论】:

  • 你能不能说的更精确一些,我如何让它们在创建后可以拖动?
  • 谢谢!我现在可以拖动项目,如果不是太多的话..我现在拖动的项目具有可拖动功能,我了解您是如何添加它的,但它们不像正常的项目(与页面一起加载)我不能将它们放在可放置的 div 上,它们没有相同的属性包含:'document',不透明度:0.6,revert:'invalid',helper:'clone',zIndex:100 我还需要做什么来制作它们正确放入 div 中?
猜你喜欢
  • 1970-01-01
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-22
  • 2015-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多