<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="js/jquery-1.3.1.js" type="text/javascript"></script>
<style type="text/css">
body {
position: relative;
margin: 0;
padding: 0;
font-family: Georgia, Times, "Times New Roman", serif;
font-size: 9pt;
color: #000;
}
.border {
float: left;
margin: 10px 0 0 5px;
}
label {
padding-left: 5px;
}
select {
width: 130px;
font-family: Georgia, Times, "Times New Roman", serif;
font-size: 9pt;
color: #000;
}
</style>
<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 = $('#country').val();
var tmpSelect = $('#auto');
if(countryValue.length == 0) {
tmpSelect.attr('disabled','disabled');
tmpSelect.clearSelect();
adjustModel();
} else {
$.getJSON('cascadeSelectAuto.php',{country:countryValue},function(data) { tmpSelect.fillSelect(data).attr('disabled',''); adjustModel(); });
}
};
// выбор модели
function adjustModel(){
var countryValue = $('#country').val();
var autoValue = $('#auto').val();
var tmpSelect = $('#model');
if(countryValue.length == 0||autoValue.length == 0) {
tmpSelect.attr('disabled','disabled');
tmpSelect.clearSelect();
} else {
$.getJSON('cascadeSelectModel.php',{country:countryValue,auto:autoValue},function(data) { tmpSelect.fillSelect(data).attr('disabled',''); });
}
};
$('#country').change(function(){
adjustAuto();
}).change();
$('#auto').change(adjustModel);
$('#model').change(function(){
if($(this).val().length != 0) { alert('Выбор сделан!'); }
});
});
</script>
</head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<body>
<div class="border">
<label>1. Выберите услугу:</label><br />
<select id="country">
<option value="">Выберите услугу</option>
<option value="1">Стоматология</option>
<option value="2">Косметология</option>
<option value="3">Прочие услуги</option>
</select>
</div>
<div class="border">
<label>2.Укажите ближайшую станцию метро:</label><br />
<select id="auto" disabled="disabled"></select>
</div>
<div class="border">
<label>3. Выберите организацию из списка:</label><br />
<select id="model" disabled="disabled"></select>
</div>
</body>
</html>
Не работает второй и третий список. Выдаёт такие ошибки: Uncaught TypeError: Object [object Object] has no method 'clearSelect' willtime.spb.ru/:310
adjustAuto willtime.spb.ru/:310
(anonymous function) willtime.spb.ru/:331
f.event.dispatch jquery.min.js:3
h.handle.i jquery.min.js:3
f.event.trigger jquery.min.js:3
(anonymous function) jquery.min.js:3
e.extend.each jquery.min.js:2
e.fn.e.each jquery.min.js:2
f.fn.extend.trigger jquery.min.js:3
f.fn.(anonymous function) jquery.min.js:3
(anonymous function) willtime.spb.ru/:332
(anonymous function) jquery-1.3.1.js:2912
jQuery.extend.each jquery-1.3.1.js:686
jQuery.extend.ready jquery-1.3.1.js:2911
(anonymous function)
Uncaught TypeError: Object [object Object] has no method 'cycle' willtime.spb.ru/:46
(anonymous function) willtime.spb.ru/:46
n jquery.min.js:2
o.fireWith jquery.min.js:2
e.extend.ready jquery.min.js:2
c.addEventListener.B
и
FB.getLoginStatus() called before calling FB.init()