У меня такая проблема: мне нужно чтобы при выборе страны появлялось в див сама страна. При выборе номера региона сам регион и так далее.
<script type="text/javascript">
(function($){
// очищаем select
$.fn.clearSelect = function() {
return this.each(function(){
if(this.tagName=='SELECT') {
this.options.length = 0;
$(this).attr('disabled','disabled');
}
});
}
// заполняем select
$.fn.fillSelect = function(dataArray) {
return this.clearSelect().each(function(){
if(this.tagName=='SELECT') {
var currentSelect = this;
$.each(dataArray,function(index,data){
var option = new Option(data.text,data.value);
if($.support.cssFloat) {
currentSelect.add(option,null);
} else {
currentSelect.add(option);
}
});
}
});
}
})(jQuery);
</script>
<script type="text/javascript">
$(document).ready(function(){
// выбор автомобиля
function adjustAuto(){
var countryValue = $('#cod_country').val();
var tmpSelect = $('#cod_contry');
if(countryValue.length == 0) {
tmpSelect.attr('disabled','disabled');
tmpSelect.clearSelect();
adjustModel();
zone();
} else {
$.getJSON('ajaxcascade.php',{cod_country:countryValue},function(data) { tmpSelect.fillSelect(data).attr('disabled',''); adjustModel();zone();});
}
};
// выбор модели
function adjustModel(){
var countryValue = $('#cod_country').val();
var autoValue = $('#cod_contry').val();
var tmpSelect = $('#cod_def');
if(countryValue.length == 0||autoValue.length == 0) {
tmpSelect.attr('disabled','disabled');
tmpSelect.clearSelect();
} else {
$.getJSON('ajaxcascadedef.php',{cod_country:countryValue},function(data) { tmpSelect.fillSelect(data).attr('disabled',''); });
}
};
function zone() {
var countryValue = $('#cod_country').val();
var zoneValue = $('#zone');
$.getJSON('ajaxcascadezone.php',{cod_country:countryValue},function(data){zoneValue.text(data.value.id + ": " + data.text.zonme)});
};
$('#cod_country').change(function(){
zone();
adjustAuto();
}).change();
$('#cod_contry').change(adjustModel);
$('#cod_def').change(function(){
if($(this).val().length != 0) { alert('Выбор сделан!'); }
});
});
</script>
</head>
<body>
<h3 align="left">Введите номер для поиска</h3>
<form action = "" method="POST" enctype="multipart/form-data">
<tr>
<td>
<select id="cod_country">
<option value="">Выбрать страну</option>
<option value="1">Германия</option>
<option value="2">Ю.Корея</option>
<option value="3">Япония</option>
<option value="4">Китай</option>
<option value="5">Таджикистон</option>
<option value="6">Япония</option>
<option value="7">Россия</option>
<option value="8">Америка</option>
<option value="9">Татарстан</option>
</select>
</div>
</td>
<td>
<select id="cod_contry" name="cod_contry" disabled="disabled"></select>
</td>
<td>
<select id="cod_def" name="cod_def" disabled="disabled"></select>
</td>
<td width="100%">
<input type="text" name = "nkod" id="defaultKeypad">
<strong>@allo<span class="alloallru">all</span>.ru</strong>
<input type="submit" value="Поиск" name="submit">
</form>
</td>
</tr>
<tr>
<td>
<div id="zone"></div>
<div id="country"></div>
<div id="operator"></div>
</td>
<?php
header('Content-Type: text/html; charset=windows-1251');
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$db = mysql_connect("localhost", "alloall", "12345");
mysql_select_db("alloall",$db);
if ($_GET['cod_country'] == 1) {
$items=mysql_query('SELECT id, zone FROM alloall_code WHERE cod_zone=1');
$json = '';
while ($a = mysql_fetch_assoc($items))
{
$json .= ($json ? ',' : '') . '{"value" : "' . $a['id'] . '", "text" : "' . addslashes($a['zone']) . '"}';
}
if ($json){
echo '[' . $json . ']';}
}
}
?>
Я сделал функции но почему то она не срабатывает. Если можно помогите составить.