Подключение файла JQuery
Добрый день,
Подскажите пожалуйста почему у меня работает здесь норм. http://jsfiddle.net/o3wxs2m6/1/. Но когда делаю это в файле, то событие на кнопке не срабатывает. Подключаю так <script src="http://code.jquery.com/jquery-1.8.3.js">Код</script> P.S. И еще как избавиться от кнопки, чтобы событие срабатывало после выбора и данные добавлялись в url? Спасибо. |
|
Спасибо,
А с подключением файла у меня всё норм? Не работает |
Дело не в подключении JQ, а в том, что код (установка обработчиков) выполняется тогда, когда страница не загружена и DOM не готов. Для этого и существует метод, о котором по ссылке. Второй проблемой может быть старая версия JQ, а в коде при меняются методы более свежих версий (я не помню, что у вас там написано, это как пример).
|
Спасибо профессор. Теперь всё ясно
|
Пожалуйста помогите с вопросом. Как установить обработчик на оба Select? Поставил на onchange, в url ничего не меняется. На кнопке обработка на ура.
Спасибо. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script src="http://code.jquery.com/jquery-latest.min.js"></script>
$(document).ready(InitPage);
function InitPage(){
$("p").text("Структура документа загружена и DOMik готов!");
}
<p>Страница еще не готова</p>
<form id="testform" action="get.php" method="GET">
<select name="sel1" onchange="alert(action);">
<option value="">Выберите</option>
<option value="1">Пиво</option>
<option value="2">Спирт</option>
<option value="3">Лимонад</option>
</select>
<select name="sel2" onchange="alert(action);">
<option value="">Выберите</option>
<option selected value="3">Колбаска</option>
<option value="4">Мясо</option>
<option value="5">Деньги</option>
</select>
</form>
<input id="show" type="button" value="Показать"/>
var inputs={};
$('form#testform select').each(function(){
getQuery(this);
});
$('form#testform select').on('change',function(){
getQuery(this);
});
$('#show').on('click',function(){
var action=$('form#testform').attr('action');
action+=$.param(inputs)?'?'+$.param(inputs):'';
alert(action);
});
function getQuery(el){
if($(el).val()!=''){
inputs[$(el).attr('name')]=$(el).val();
}else{
delete inputs[$(el).attr('name')];
}
}
|
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(InitPage);
function InitPage() {
var inputs={};
$('#testform select').each(function(){
getQuery(this);
});
$('#testform select').on('change',function(){
getQuery(this);
});
$('#show').on('click',function(){
var action=$('#testform').attr('action');
action+=$.param(inputs)?'?'+$.param(inputs):'';
alert(action);
});
function getQuery(el){
if($(el).val()!=''){
inputs[$(el).attr('name')]=$(el).val();
}else{
delete inputs[$(el).attr('name')];
}
}
}
</script>
<form id="testform" action="get.php" method="GET">
<select name="sel1" >
<option value="">Выберите</option>
<option value="1">Пиво</option>
<option value="2">Спирт</option>
<option value="3">Лимонад</option>
</select>
<select name="sel2" >
<option value="">Выберите</option>
<option selected value="3">Колбаска</option>
<option value="4">Мясо</option>
<option value="5">Деньги</option>
</select>
</form>
<input id="show" type="button" value="Показать"/>
|
Спасибо большое за ответ.
Но с кнопкой у меня тоже работает. Хотелось бы, чтобы кнопки не было и обработчик срабатывал при выборе двух select и адресная строка менялась и сохранялся выбор в зависимости от того, что выбираем. |
Зачем $('#testform select').each при наличии $('#testform select').on(\'change\' ?
|
Вроде же должно работать без кнопки, почему-то никакой реакции при выборе.
Help!!!!!! Please!!!!!!! |
| Часовой пояс GMT +3, время: 05:06. |