Bookmarks

Yahoo Gmail Google Facebook Delicious Twitter Reddit Stumpleupon Myspace Digg

Search queries

nisc wwwxxx, wwwxxx0cm, should producers of software-based services, such as atms, be held liable for economic injuries suffered when their systems fail?, wwwxxx0cm, www.webdp.net, Event 9 IIS log failed to write entry, wwwxxx jeffs, Catastrophic failure Unexpected method call sequence. 0x8000ffff (-2147418113)., ksh lock a file, [unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_DBC failed

Links

XODOX
Impressum

#1: cascading select

Posted on 2011-07-14 17:39:33 by Chris Stinemetz

I am trying to create a cascading seletct with 3 menu choices.
For some reason my third select menu is not populating. It does not
seem like my ajax is correctly sending $_post values to the final
query in my PHP class I built.
By the time I make it to the final (third) select menu there are no choices.

Hopefully someone can find something I missed in the following code snippits.

Any help is greatly appreciated.

Please excuse the incorrect indentions. For some reason gmail changes it.

Thanks,

Chris

ajax code...

<script>
$(document).ready(function(){
$("select#type").attr("disabled","disabled");
$("select#store").attr("disabled","disabled");
$("select#market").change(function(){
$("select#type").attr("disabled","disabled");
$("select#type").html("<option>please wait...</option>");
var id = $("select#market option:selected").attr('value');
$.post("select_type.php", {id:id}, function(data){
$("select#type").removeAttr("disabled");
$("select#type").html(data);
});
});

$("select#type").change(function(){
$("select#store").attr("disabled","disabled");
$("select#store").html("<option>please
wait...</option>");
var id = $("select#type option:selected").attr('value');
$.post("select_store.php", {id:id}, function(data){
$("select#store").removeAttr("disabled");
$("select#store").html(data);
});
});




$("form#select_form").submit(function(){
var market = $("select#market option:selected").attr('value');
var type = $("select#type option:selected").attr('value');
var store = $("select#store
option:selected").attr('value');
if(market>0 && type>0 && store>0)
{
var market = $("select#market option:selected").html();
var type = $("select#type
option:selected").html();
var store = $("select#store
option:selected").html();
$("#result").html('your choices were: '+market +' ,
'+type +' and '+store);
}
else
{
$("#result").html("you must choose three options!");
}
return false;
});
});
</script>


php class for populating select menus....

<?php
class SelectList
{
protected $conn;
public function __construct()
{
$this->DbConnect();
}
protected function DbConnect()
{
include "db_config.php";
$this->conn =
mysql_connect($host,$user,$password) OR die("Unable to connect to the
database");
mysql_select_db($db,$this->conn) OR die("can
not select the database $db");
return TRUE;
}
public function ShowMarket()
{
$sql = "SELECT DISTINCT id_markets FROM store_list";
$res = mysql_query($sql,$this->conn);
$market = '<option value="0">market...</option>';
while($row = mysql_fetch_array($res))
{
$market .= '<option value="' .
$row['id'] . '">' . $row['id_markets'] . '</option>';
}
return $market;
}

public function ShowType()
{
$sql = "SELECT DISTINCT store_type FROM store_list";
$res = mysql_query($sql,$this->conn);
$type = '<option value="0">store type...</option>';
while($row = mysql_fetch_array($res))
{
$type .= '<option value="' . $row['id']
.. '">' . $row['store_type'] . '</option>';
}
return $type;
}

public function ShowStore()
{
$sql = "SELECT store_name FROM store_list WHERE
id_markets=$_POST[id] AND store_type=$_POST[id]";
$res = mysql_query($sql,$this->conn);
$Store = '<option value="0">stores...</option>';
while($row = mysql_fetch_array($res))
{
$Store .= '<option value="' .
$row['id'] . '">' . $row['store_name'] . '</option>';
}
return $Store;
}
}

$opt = new SelectList();

?>

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Report this message