I have an auto complete textbox that i would like to populate drop down lists after selecting the item for the text box. Granted i'm sure i can do this by reloading form or something like that but i want to do it much like the auto complete does and just parse the info through a file onBlur.
This code works for the autocomplete but i need to pass the brand_id to the form as well....
//script.js
function lookup(brand) {
if(brand.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
// post data to our php processing page and if there is a return greater than zero
// show the suggestions box
$.post("brand_search.php", {brand: ""+brand+""}, function(data){
if(data.length > 0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
} //end
// if user clicks a suggestion, fill the text box.
function fill(thisValue) {
$('#brand').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
function populate(sub_brand) {
$.post("sub_brand_search.php", {sub_brand: ""+sub_brand+""}, function(data){
if(data.length > 0) {
$('#suggestions2').show();
$('#autoSuggestionsList2').html(data);
}
});
}
The form as i would like for it to look and operate minus layout.
//form.php
<form method="post" action"">
Brand
<input name="brand" type="text" id="brand" onkeyup="lookup(this.value);" onblur="fill();" size="35" maxlength="45" autocomplete="off">
<div class="suggestionsBox" id="suggestions" style="display: none;">
<img src="<?=$relative_path?>coupon/style/images/upArrow.png" style="position: relative; top: -18px; left: 30px;" alt="upArrow" />
<div class="suggestionList" id="autoSuggestionsList"></div>
</div>
<input type="checkbox" name="type[]" id="type" value="1">Brand
<input type="checkbox" name="type[]" id="type" value="2" onChange="populate(sub-brand)">Sub-Brand //could even go for something like this... that if once checked then it created a drop-down list but used info coming from text field.
<input type="checkbox" name="type[]" id="type" value="3">Category
<input type="checkbox" name="type[]" id="type" value="4">Sub-Category
Sub-Brand
<select name="sub_brand" id="sub_brand">
<option value = "1">list of options</options> <!--query after autocomplete completed and/or checkbox selected-->
</select>
Category
<select name="category" id="category">
<option value = "1">list of options</options> <!--query after autocomplete completed and/or checkbox selected and if sub_brand selected change again-->
</select>
Sub-Category
<select name="sub_category" id="sub_category"> <!--query after autocomplete completed and/or checkbox selected and if category selected change again-->
<option value = "1">list of options</options>
</select>
Here you can see the php file i have for the auto complete to see that i want to pull the brand_id to the form as well. I just don't know how to do it...
<?php include("session.php");
// Check the user has typed something in our input box.
if(isset($_POST['brand'])) {
$mysearchString = $_POST['brand'];
// Is the string length greater than 0?
if(strlen($mysearchString) > 0) {
$query = $database->query("SELECT `brand`, `brand_id`
FROM `brand`
WHERE brand
LIKE '$mysearchString%'
LIMIT 10"); // limits our results list to 10.
if($query) {
$num_rows = mysql_num_rows($query);
for ($n=0; $n<$num_rows; $n++) {
$brand = mysql_result($query, $n, "brand")
$brand_id = mysql_result($query, $n, "brand_id");
echo '<li onClick="fill(\''.$brand.'\');">'.$brand.'</li>';
}
} else {
echo 'ERROR: There was a problem with the query.';
}
}
} else {
echo 'Access denied.';
}
?>
sorry for php script it didn't copy across correctly...
table for sub_brand has brand_id, sub_brand , sub_id
table for category has brand_id, category, cat_id
**table for sub_category has brand_id, sub_id, sub_category
I know when the brand is pulled from the database i need to pull the brand_id and put it through to the form just like i did with the brand however i don't want this a known but hidden(cookie, session, hidden field). again also i don't want to have to reload the form for each field change...