2013-08-01 2 views
1

"what"과 "area"필드가 두 개인 양식이 있습니다. 나는 2 개의 배열, 각 필드에 대해 하나씩 그러나 나는 두 개의 다른 배열에서 데이터를 사용하는 "무엇"첫 번째 필드가 필요하면 자동 완성 작업을했습니다. 이것이 가능한가?두 개의 다른 배열에서 자동 완성으로 양식 필드 채우기 시도

//This works 
<form........ 
<input name="what" id="what" type="text" size="45" /> 
<input name="area" id="area" type="text" size="45" /> 
......form/> 

<script> 
var tags = [ <?php do { ?>"<?php echo $row_rsCategories['category']; ?>",<?php } while ($row_rsCategories = mysql_fetch_assoc($rsCategories)); ?> ]; 
$("#what").autocomplete({ 
source: function(request, response) { 
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 
response($.grep(tags, function(item){ 
return matcher.test(item); 
})); 
} 
}); 
</script> 
<script> 
var tags3 = [ <?php do { ?>"<?php echo $row_rsDirectory['suburb']; ?>, <?php echo $row_rsDirectory['postcode']; ?> ",<?php } while ($row_rsDirectory = mysql_fetch_assoc($rsDirectory)); ?> ]; 
$("#area").autocomplete({ 
source: function(request, response) { 
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 
response($.grep(tags3, function(item){ 
return matcher.test(item); 
})); 
} 
}); 
</script> 

// (이

<form........ 
<input name="what" id="what" type="text" size="45" /> 
<input name="area" id="area" type="text" size="45" /> 
......form/> 

<script> 
var tags = [ <?php do { ?>"<?php echo $row_rsCategories['category']; ?>",<?php } while ($row_rsCategories = mysql_fetch_assoc($rsCategories)); ?> ]; 
$("#what").autocomplete({ 
source: function(request, response) { 
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 
response($.grep(tags, function(item){ 
return matcher.test(item); 
})); 
} 
}); 
</script> 
<script> 
var tags2 = [ <?php do { ?>"<?php echo $row_rsKeywords['keyword']; ?>",<?php } while ($row_rsKeywords = mysql_fetch_assoc($rsKeywords)); ?> ]; 
$("#what").autocomplete({ 
source: function(request, response) { 
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 
response($.grep(tags2, function(item){ 
return matcher.test(item); 
})); 
} 
}); 
</script> 
<script> 
var tags3 = [ <?php do { ?>"<?php echo $row_rsDirectory['suburb']; ?>, <?php echo $row_rsDirectory['postcode']; ?> ",<?php } while ($row_rsDirectory = mysql_fetch_assoc($rsDirectory)); ?> ]; 
$("#area").autocomplete({ 
source: function(request, response) { 
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 
response($.grep(tags3, function(item){ 
return matcher.test(item); 
})); 
} 
}); 
</script> 

작동하지 않습니다 나는 $에 ("#what") $을 = "무엇을"= "무엇을"클래스에 양식 필드 ID를 변경하고 변경 시도 ".what") 아무 소용이 없습니다.

+0

를 사용하는 방법에 모습을 가질 수 있습니까? PHP는 여기에 필요하지 않은 것 같습니다. 나는이 특별한 예를 뜻한다. –

+0

OK 이제 생성됩니다 – user2641868

+0

http://jsfiddle.net/KtsXx/ – user2641868

답변

0

가장 간단한 방법은 2 개의 어레이를 결합하여 결과 배열 중 하나에 자동 완성을 사용하는 것입니다. 다음은 jsfiddle 있어하지만 당신은 jqueryui 자동 완성의 source 재산 사용할 수 있습니다

.autocomplete({source: function(request, response){ 
    var res = getDataBySearchTerm(request.term); 
    response(res); 
}}); 

당신은 당신이 작업을 필요로하는 코드로 jsfiddle를 만들 수 그것을 here

관련 문제