[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: зависимый выпадающий список wordpress
maxim221
Доброго времени суток. Только начинаю разбираться с веб-программированием. Хочу сделать зависимый выпадающий список для single.php wordpress'a: услуга ->станция метро->организация. Предыдущий параметр фильтрует последующий. Применил вот такой код:
<!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()
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.