Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Подключение файла JQuery (https://javascript.ru/forum/jquery/77340-podklyuchenie-fajjla-jquery.html)

sloneCH 21.04.2019 09:42

Подключение файла JQuery
 
Добрый день,
Подскажите пожалуйста почему у меня работает здесь норм. http://jsfiddle.net/o3wxs2m6/1/.
Но когда делаю это в файле, то событие на кнопке не срабатывает.
Подключаю так
<script src="http://code.jquery.com/jquery-1.8.3.js">Код</script>


P.S. И еще как избавиться от кнопки, чтобы событие срабатывало после выбора и данные добавлялись в url?
Спасибо.

laimas 21.04.2019 09:51

Обработчик готовности дерева DOM

sloneCH 21.04.2019 16:40

Спасибо,
А с подключением файла у меня всё норм?
Не работает

laimas 21.04.2019 16:53

Дело не в подключении JQ, а в том, что код (установка обработчиков) выполняется тогда, когда страница не загружена и DOM не готов. Для этого и существует метод, о котором по ссылке. Второй проблемой может быть старая версия JQ, а в коде при меняются методы более свежих версий (я не помню, что у вас там написано, это как пример).

sloneCH 21.04.2019 17:11

Спасибо профессор. Теперь всё ясно

sloneCH 23.04.2019 11:54

Пожалуйста помогите с вопросом. Как установить обработчик на оба 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')];
    }
}

Dilettante_Pro 23.04.2019 12:20

<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="Показать"/>

sloneCH 23.04.2019 12:49

Спасибо большое за ответ.
Но с кнопкой у меня тоже работает.
Хотелось бы, чтобы кнопки не было и обработчик срабатывал при выборе двух select и адресная строка менялась и сохранялся выбор в зависимости от того, что выбираем.

laimas 23.04.2019 12:56

Зачем $('#testform select').each при наличии $('#testform select').on(\'change\' ?

sloneCH 23.04.2019 13:38

Вроде же должно работать без кнопки, почему-то никакой реакции при выборе.
Help!!!!!! Please!!!!!!!


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