Snažím sa vytvoriť stránku so 120 automatickými dokončovacími txtboxmi pre vytvorenú slučku v mojej indexovej stránke a na mojej js. Zdá sa však, že sa niečo pokazí
var a = "#A" + i;
var b = "#B" + i;
var c = "#C" + i;
$(a).html(thehtml);
$(b).html(thehtml2);
$(c).html(thehtml3);
ale ak som kód
var a = "#A1";
var b = "#B1";
var c = "#C1";
$(a).html(thehtml);
$(b).html(thehtml2);
$(c).html(thehtml3);
prvé pole automatického dopĺňania funguje perfektne, ale zvyšok nefunguje, pretože majú iné ID
index stránky
<!doctype html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" media="all" href="style.css">
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jquery.autocomplete.min.js"></script>
<script type="text/javascript" src="js/currency-autocomplete.js"></script>
</head>
<body>
<div id="w">
<div id="content">
<h1>Folders</h1>
<div id="searchfield">
<table>
<th>Folder art</th>
<th>Artnr</th>
<th>zoekterm</th>
<th>Omschrijving</th>
<th>BTW</th>
<?php
//teller defineren
$i=0;
$id=1;
while($i<120)
{
$id_name="autocomplete".$id;
$A="A".$id;
$B="B".$id;
$C="C".$id;
if($id < 10)
{$art="FS000".$id;}
else if($id < 100)
{$art="FS00".$id;}
else
{$art="FS0".$id;}
echo "<tr>";
echo "<td><input type="text" name="$art" value="$art" size="10"></td>";
echo "<td><div id="$B"></div></td>";
echo "<td><input type="text" name="$id_name" id="$id_name"></td>";
echo "<td><div id="$A"></div></td>";
echo "<td><div id="$C"></div></td>";
$id++;
$i++;
}
?>
</table>
</div>
</body>
</html>
Kód pre automatické dopĺňanie .js
$(function(){
var currencies = [
{ value: "Afghan afghani", data: "AFN",BTW: "2" },
{ value: "Albanian lek", data: "ALL",BTW: "2" },
{ value: "Algerian dinar", data: "DZD",BTW: "2" },
{ value: "European euro", data: "EUR",BTW: "2" },
{ value: "Angolan kwanza", data: "AOA",BTW: "4" },
{ value: "East Caribbean dollar", data: "XCD",BTW: "4" },
{ value: "Argentine peso", data: "ARS",BTW: "2" },
{ value: "Armenian dram", data: "AMD",BTW: "2" },
{ value: "Aruban florin", data: "AWG",BTW: "2" },
{ value: "Australian dollar", data: "AUD",BTW: "4" },
{ value: "Azerbaijani manat", data: "AZN",BTW: "8" },
];
var z = "#autocomplete";
var id=1;
var i=0;
var aantal=120;
for ( var i = 1; i < 120; i++ ){
$(z + id).autocomplete({
lookup: currencies,
onSelect: function (suggestion) {
var thehtml="<input type="text" value=""+ suggestion.value + "">";
var thehtml2="<input type="text" value=""+ suggestion.data + "" size="10">";
var thehtml3="<input type="text" value=""+ suggestion.BTW + "" size="5">";
var a = "#A" + i;
var b = "#B" + i;
var c = "#C" + i;
$(a).html(thehtml);
$(b).html(thehtml2);
$(c).html(thehtml3);
}
});
id++;}
});
Čo je chyba? výsledok normálny kód Výsledok po zmene kódu
odpovede:
0 pre odpoveď č. 1Našiel som problém, zmeňte premennú na t a definujte ju vo vnútri slučky.
for ( var i = 1; i < 120; i++ ){
var t=1;
$(z + id).autocomplete({
lookup: currencies,
onSelect: function (suggestion) {
var thehtml="<input type="text" value=""+ suggestion.value + "">";
var thehtml2="<input type="text" value=""+ suggestion.data + "" size="10">";
var thehtml3="<input type="text" value=""+ suggestion.BTW + "" size="5">";
var a = "#A"+t;
var b = "#B"+t;
var c = "#C"+t;
$(a).html(thehtml);
$(b).html(thehtml2);
$(c).html(thehtml3);
t++;