PDA

Просмотр полной версии : Помогите c jquery


kdk
22.10.2009, 19:25
усть код! типа http://www.lasso.pro/selectCombo/
Как можно его дописать что бы выводились постепенно <div> тоесть страна->Область->город
<html>
<head>
<title></title>
<script src='../js/jquery.js' type='text/javascript'></script>
<script type="text/javascript">
$(document).ready(function(){
showCountriesById($('#countryId').val());
});
function showCountriesById (val) {
$.ajax({
type: "POST",
url: "ajax.php",
data: "countryId="+val,
success: function(html){
$("#cityContainer").html(html);
}
});
}
</script>
</head>
<body>
<select name="countryId" id="countryId" onchange="showCountriesById(this.value)">
<?php
//Выводишь страны
if (isset( $countryArr))
{
?>
<?php
foreach ( $countryArr as $s) {
?>
<option value="<?=$s['id']?>"><?=$s['strana']?></option>
<?php
}
?>
<?php
}
?>
</select>
<div id="cityContainer"> </div>
</body>
</html>
ajax.php
<?php
$countryId = $_POST['countryId'];
//Выбираешь из бд города и заносишь в массив
$html .= '<select name="cities">';
while ($row = mysql_fetch_array($res)) {
$html .= '<option value="'.$row['id'].'" >'.$row['gorod']'.</option>';
}
echo $html;
?>

K0rINf
22.10.2009, 21:41
Передавай разные значения. Типа отправляешь $_POST['страна'] на пхп проверяешь если $_POST['страна']== чемуто то echo (Форма для выбора региона с функцией аякса)
с этой формы отправляешь уже $_POST['регион'] в Пхп проверяешь теперь $_POST['страна']== чемуто то echo (Форма для выбора города с аяксом).
Кажеться уже чето такое было! Могу попробывать без jquery написать!

kdk
23.10.2009, 08:52
А еще кто то может подсказать????

diGriz
23.10.2009, 09:19
Добавь еще одну функцию и див для регионов.

<html>
<head>
<title></title>
<script src='../js/jquery.js' type='text/javascript'></script>
<script type="text/javascript">
$(document).ready(function(){
showCountriesById($('#countryId').val());
});
function showCountriesById (val) {
$.ajax({
type: "POST",
url: "ajax.php",
data: "countryId="+val,
success: function(html){
$("#cityContainer").html(html);
}
});
}
function showDistrictById (val) {
$.ajax({
type: "POST",
url: "ajax.php",
data: "districtId="+val,
success: function(html){
$("#districtContainer").html(html);
}
});
}
</script>
</head>
<body>
<select name="countryId" id="countryId" onchange="showCountriesById(this.value)">
<?php
//Выводишь страны
if (isset( $countryArr))
{
?>
<?php
foreach ( $countryArr as $s) {
?>
<option value="<?=$s['id']?>"><?=$s['strana']?></option>
<?php
}
?>
<?php
}
?>
</select>
<div id="cityContainer"> </div>
<div id="districtContainer"> </div>
</body>
</html>


ajax.php


<?php
require_once '../config/db.php'; //подключаешь бд
if($_POST['countryId']) {
$docId = $_POST['countryId'];

$query = "..."; //запрос
$res = mysql_query($query);

$html .= '<select name="cities" onchange="showDistrictById(this.value)">';
while ($row = mysql_fetch_array($res)) {
$html .= '<option value="'.$row['id'].'" >'.$row['gorod']'.</option>';
}
$html .= '</select>';
echo $html;
}
if($_POST['districtId']) {
//делаешь запрос на выборку регионов и так же, как и страны выводишь в селекте
}
?>

Byte_
23.10.2009, 09:25
Очень люблю jquery
могу предложить просто добавить красивости в код.

function showCountriesById (val) {
$("#districtContainer").html('<img src="/loader.gif" />'); // гифка которая появляется пока идёт запрос.
$.post('ajax.php',{countryId:val},function(data){$ ("#districtContainer").html(data);})