Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   ajax загрузка HTML содержимого на страницу при выборе определенного select (https://javascript.ru/forum/jquery/50918-ajax-zagruzka-html-soderzhimogo-na-stranicu-pri-vybore-opredelennogo-select.html)

alex162341 16.10.2014 20:39

ajax загрузка HTML содержимого на страницу при выборе определенного select
 
файл index.php
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function(){
alert($('#getContent .eght').length + 'elements!');
});




$(document).ready(function(){
$('#getContent .eght').click(function(){
$.ajax({
url: "http://load/content.php",
cache: false,
beforeSend: function() {
$('#divContent').html('Получаем контент');
},
success: function(html){
$("#divContent").html(html);
}
});
return false;
});
});
</script>

</head>


<body>
<form>
<select id="getContent" name="dolzh">
<option class="zero"></option>
<option class="one">Водитель</option>
<option class="two">Диспетчер</option>
<option class="tree">Грузчик</option>
<option class="fo">Автослесарь</option>
<option class="five">Автоэлектрик</option>
<option class="six">Кузовщик</option>
<option class="seven">Шиномонтажник</option>
<option class="eght">ДРУГОЕ</option>
</select>
<form>
</br>

<div id="divContent">


</div>


</body>
</html>


файл content.php
ВВЕДИТЕ ДОЛЖНОСТЬ
<input type="text" name="dolzh" maxlength="250">


Почему то работает только в фаерфоксе. В опере и хроме не работает.

В чем тут ошибка?

alex162341 16.10.2014 21:01

Объясняю
При выборе поля ДРУГОЕ из выпадающего списка внизу страницы добавляется ячейка с полем ввода.
В фаерфоксе отлично работает в других браузерах нет!

danik.js 16.10.2014 21:53

Не click, а change же ) Если я без мышки, через клавиатуру выбираю пункт - че тогда?
Цитата:

Сообщение от alex162341
jquery/1.3.2

А че такая старая версия?
Цитата:

Сообщение от alex162341
http://load/

Че у тя такой домен чтоли - load?

alex162341 16.10.2014 23:54

click потому что с change даже в фаерфоксе не работает. не говоря об opera

подключил jquery/2.1.1/jquery.min.js ничего не изменилось

load потому что так папка на localhost так называется

danik.js 17.10.2014 00:25

Ты чета наворотил не того с селектом. Не class="eight" , а value="eight"
И change вешай не на опшн, а на селект.
В обоработчике проверяй if (this.value == 'eight') { .... }

alex162341 18.10.2014 21:47

про value я понял.
А про остальное не очень. Можно по подробнее объяснить?

danik.js 18.10.2014 22:00

$('#getContent').change(function(){ .. })

alex162341 19.10.2014 08:32

Цитата:

Сообщение от danik.js (Сообщение 336390)
$('#getContent').change(function(){ .. })


Исправил как ты советовал. Вот так. Работает в Опере, Хроме, фаерфоксе. УРА!!!

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">

/* $(document).ready(function(){
alert($('#getContent').length + 'elements!');
}); */




$(document).ready(function(){
$('#getContent').change(function()
{
if (this.value == 'eight')
$.ajax({
url: "http://load/content.php",
cache: false,
beforeSend: function() {
$('#divContent').html('Получаем контент');
},
success: function(html){
$("#divContent").html(html);
}
});
return false;
});
});
</script>

</head>


<body>
<form>
<select id="getContent" name="dolzh">
<option value="zero"></option>
<option value="one">Водитель</option>
<option value="two">Диспетчер</option>
<option value="tree">Грузчик</option>
<option value="fo">Автослесарь</option>
<option value="five">Автоэлектрик</option>
<option value="six">Кузовщик</option>
<option value="seven">Шиномонтажник</option>
<option value="eight">ДРУГОЕ</option>
</select>
<form>
</br>

<div id="divContent">


</div>

</body>
</html>


Часовой пояс GMT +3, время: 11:39.