我正在使用jQuery UI的自動完成功能來爲表單傳播正確的輸入,超過1000個值。jQuery使用自動完成功能限制文本框輸入
自動完成工作正常,但我如何限制字段的值只是這些值?
自動完成代碼的形式:
$('#animal').autocomplete({
source: "search_species.php",
minLength: 3,
select: function(event, ui) {
$('#animal').val(ui.item.postcodes);
$('#code').val(ui.item.code);
$('#family').val(ui.item.family);
}
});
代碼自動完成中源:
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
$return_arr = array();
if ($conn){
$fetch = mysql_query(
"SELECT * FROM animals where animals like '%" . mysql_real_escape_string($_GET['term']) . "%'"
);
/* Retrieve and store in array the results of the query.*/
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['id'] = $row['id'];
$row_array['value'] = $row['animals'];
$row_array['family'] = $row['family'];
$row_array['code'] = $row['code'];
array_push($return_arr,$row_array);
}
}
mysql_close($conn);
echo json_encode($return_arr);
正如我所說的,自動完成的作品。我只需要知道如何將文本字段中的值限制爲搜索中的值,以便人們無法輸入自己的值。
在此先感謝。
不知道,你可以阻止人們在輸入輸入另一個值,但可以防止人在提交 - 存儲所有的自動完成值在JavaScript陣列,當有人提出,你可以覈對這些值的形式來確保它的doinng .submit時通過它做一個環其中之一(功能可按(){}) 你不能只是做這個選擇列表,如果你只希望他們能夠從特定值選擇? –
唯一的問題是列表中包含約1000個動物和相關代碼。它是一個野生動物救援組織,所有成員必須輸入特定的動物才能提出其野生動物編碼。 – Rod
是有可能的名單進一步下跌也許篩選或者你可以調用功能可按上.blur(函數(){//看看是否值匹配})而不是做.submit() –