【问题标题】:multiple input field jquery.autocomplete多个输入字段 jquery.autocomplete
【发布时间】:2012-06-30 15:41:00
【问题描述】:

我想为许多文本输入字段自动完成... 但是有了这个自动完成

<html><head><script type="text/javascript" src="jquery-1.4.js"></script>
<script type='text/javascript' src='jquery.autocomplete.js'></script>
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" />
<link rel="stylesheet" href="main.css" type="text/css" />

<script type="text/javascript">

$().ready(function() {
      $("#perkiraan").autocomplete("proses_akun.php", { width:350, max:28, scroll:false });
});

</script>
</head>
<body>
<div class="demo" style="width: 250px;">
<div>
<p>Nama Akun : <input type="text" id="perkiraan"  name="perkiraan" size="65"></p>
</div>
</div>
<div id="pilihan">
</div>

<div class="demo" style="width: 250px;"><div>
<p>Nama Akun : <input type="text" id="perkiraan"  name="perkiraan" size="65"></p>
</div>
</div>  

<div id="pilihan">
</div>
</body>
</html>

我知道,因为这个 jquery 只允许一个同名... 但我想在第一个下面添加更多输入文本(第二个、第三个等),也不需要复制粘贴 scriot 并更改其名称... 请帮忙,,,,

【问题讨论】:

标签: php jquery autocomplete textfield


【解决方案1】:

工作演示 http://jsfiddle.net/nckYT/

请注意,DOM 不应该有相同的元素 id 属性,上面的示例就是这种情况。即id="perkiraan" solution 改用class 属性。

我认为官方文档说如果有多个相同的id,那么它将最后一个id-ied 元素作为识别元素。

对于多个元素,您可以使用类元素进行自动完成,例如 $( ".perkiraan" ).autocomplete({,它将自动完成与类 perkiraan 的所有元素一起附加。 或者你可以链接不同的ids,比如$( "#perkiraan, #foo" ).autocomplete({,但是添加类就可以了

希望这会有所帮助,如果我错过了什么,请告诉我,:)

因为

<body><div class="demo" style="width: 250px;">
    <div><p>Nama Akun : <input type="text" class="perkiraan"  name="perkiraan" size="65"></p></div></div><div id="pilihan"></div>
    <div class="demo" style="width: 250px;">
<div><p>Nama Akun : <input type="text" class="perkiraan"  name="perkiraan" size="65"></p></div></div>  <div id="pilihan"></div></body>

图像 1 输入 1

图像 2 输入 2

【讨论】:

  • 但还是一样,仍然只有 1 个文本字段可以使用自动完成功能,第二个等无法使用它...
  • @Myan nopes 在两个文本框中查看演示 jsfiddle.net/nckYT 类型 1,您将看到自动完成功能适用于两者,我还附上图像向您展示,如果我可以推荐,请阅读 HTML 文档和 Jquery 文档,但上面的工作演示应该有助于:)
  • 但还是一样,仍然只有 1 个可以使用自动完成的文本字段,第二个等不能使用它...&lt;script type="text/javascript"&gt; $().ready(function() {$(".id_perkiraan").autocomplete("j query/js/cari.php",{width:350, max:28, scroll:false });}); &lt;/script&gt;&lt;div class="demo" &gt; &lt;div&gt;&lt;p&gt;&lt;input type="text" name="id_perkiraan[]" class="id_perkiraan" size=75 autocomplete="off"&gt; &lt;/p&gt;&lt;/div&gt; &lt;/div&gt; &lt;div class="pilihan"&gt;&lt;/div&gt;
  • 那是你的HTML有问题,我也只能在你的代码中看到一个文本框&lt;input type="text" name="id_perkiraan[]" class="id_perkiraan" size=75 autocomplete="off"&gt;另外Json与你的问题无关,它只是数据提要,检查你的php文件也是。您能否在 jsfiddle 中重新创建您的问题,我可能会帮助您,p.s.希望你的路径是正确的"j query/js/cari.php"
  • 这是我的 php:$q = strtolower($_GET["q"]); if (!$q) return; $query = mysql_query("select * from perkiraan where id_perkiraan LIKE '%$q%'"); while($r = mysql_fetch_array($query)) {$id = $r['id_perkiraan']; $nama = $r['nama']; echo "$id [$nama] \n"; } 和类似这样的 javascript ` $().ready(function(){$( ".id_perkiraan" ).autocomplete({ source: function( req, resp ) {$( "j query/js/cari.php", { delay: 1}, function(data) {resp( data ); }, "JSON" );}});});` 仍然无法工作。 ..
【解决方案2】:

很简单,只需将$("#perkiraan").autocomplete 更改为$(".classname").autocomplete 你就完成了

注意:所有文本字段中的类名应相同

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 2017-01-10
    • 2011-10-29
    • 2019-05-08
    相关资源
    最近更新 更多