Udělal jsem si podle scriptu z jednoho webu dva selecty závislé na sobě pomocí ajaxu.
Od Vás bych potřeboval a zároveň moc prosím, menší (asi menší) úpravu ve scriptech.
Jedná se mi o to že bych potřeboval ještě před vybráním v prvním selectu vybrat tabulku z které se budou data načítat.
Asi nejlépe udělat dva inputy typu radia s name zahranicni a druhý domaci.
Inputy udělat zvládnu, ale co nezvládnu, je upravit ajax, protože o ajaxu vůbec nic nevím na tož abych ho upravil.
Přikládám dva soubory které budou potřeba upravit.
Budu opravdu velmi vděčný za jakoukoliv pomoc.
Index.php:
Kód: Vybrat vše
<?php
include('func.php');
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Editace skladeb</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#wait_1').hide();
$('#drop_1').change(function(){
$('#wait_1').show();
$('#result_1').hide();
$.get("func.php", {
func: "drop_1",
drop_var: $('#drop_1').val()
}, function(response){
$('#result_1').fadeOut();
setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
});
return false;
});
});
function finishAjax(id, response) {
$('#wait_1').hide();
$('#'+id).html(unescape(response));
$('#'+id).fadeIn();
}
</script>
</head>
<body>
<p>
<form action="" method="post">
<select name="drop_1" id="drop_1">
<option value="" selected="selected" disabled="disabled">Vyber interpreta</option>
<?php getTierOne(); ?>
</select>
<span id="wait_1" style="display: none;">
<img alt="Please Wait" src="ajax-loader.gif"/>
</span>
<span id="result_1" style="display: none;"></span>
</form>
</p>
func.php
Kód: Vybrat vše
//**************************************
// Page load dropdown results //
//**************************************
function getTierOne()
{
$result = mysql_query("SELECT DISTINCT Contentgroup FROM zahranicni ORDER BY Contentgroup ASC")
or die(mysql_error());
while($tier = mysql_fetch_array( $result ))
{
echo '<option value="'.$tier['Contentgroup'].'">'.$tier['Contentgroup'].'</option>';
}
}
//**************************************
// First selection results //
//**************************************
if($_GET['func'] == "drop_1" && isset($_GET['func'])) {
drop_1($_GET['drop_var']);
}
function drop_1($drop_var)
{
include_once('../settings.php');
$result = mysql_query("SELECT DISTINCT Album FROM zahranicni WHERE Contentgroup='$drop_var' ORDER BY Year,Album ASC")
or die(mysql_error());
echo '<select name="tier_two" id="tier_two">
<option value=" " disabled="disabled" selected="selected">Album</option>';
while($drop_2 = mysql_fetch_array( $result ))
{
echo '<option value="'.htmlSpecialChars($drop_2['Album'],ENT_QUOTES).'">'.htmlSpecialChars($drop_2['Album'],ENT_QUOTES).'</option>';
}
echo '</select> ';
echo '<input type="submit" name="submit" value="Submit" />';
}
řekl bych že místo názvu tabulky v souboru func.php bude nějaká proměnná ale nevím jak tu proměnnou dostat přes ajax do toho souboru.
Ještě jednou moc děkuji za případnou pomoc