Показать сообщение отдельно
  #26 (permalink)  
Старый 24.03.2017, 18:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Sprutenok000
объясню почему именно этот скрипт а не PHP
А кто говорил о РНР? Просто пример о запросе данных на сервере, а это не обязательно РНР.

Сообщение от Sprutenok000
эта страничка должна открываться на телефоне а телефон PHP не понимает
То есть браузер настольной системы понимает РНР?

Не важно, на стольной ли системе, в мобильной ли открывается страница, эта страница есть HTML, а активные сценарии в ней, это Javascript. Серверного в таких страницах нет и в помине. jQuery это и есть Javascript, фреймворк написанный на Javascript. При этом страница в браузере мобильной системы может обмениваться данными с сервером, это ничем не запрещается.

Вот какая странность в вашем рассуждении - "но я то делаю последний выбор в 4-ом списке, а соответственно в 4-й список попадает некое значение правильно?". Что значит попадает? Последний список на момент выбора в нем заполнен, и выбор в нем, это просто выбор опции, а ее значение и будет являться значением списка ($("#List4").val()).

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
var data = {
    'a' : {
        '1' : {'1': 'Var 2-1-1', '2': 'Var 2-1-2'},
        '2' : {'1': 'Var 2-2-1', '2': 'Var 2-2-2'}  
    },
    'b' : {
        '1' : {'1': 'Var 3-1-1', '2': 'Var 3-1-2'},
        '2' : {'1': 'Var 3-2-1', '2': 'Var 3-2-2'}  
    }
}; 

$(function() {
    //заполнение списков и выбор в последнем списке
    //при этом назвать списки зависимыми можно только номинально:
    //1) данные не связаны
    //2) стоит убрать disabled у списков и можно будет заполнять списки произвольно
    //то есть, это "имитация" связанных списков
    //на самом деле сценарий просто задает последовательность заполнения списка от первого до... 
    var lst = $('#list').on('change', 'select', function() {
        if(this.value) {
            if(this.name != 'c') {
                
                var i = lst.index(this)+1, //индекс следующего списка от текущего
                    src = lst.eq(i); //следующий список
                   
                //очищаем все последюущие списки от текущего и запрещаем выбор в них
                lst.slice(i).empty().prop('disabled', 1)
                
                //получаем данные для следующего списка, строим его и разрешаем в нем выбор 
                src.append('<option value="">Select...</option>').prop('disabled', 0)
                $.each(data[this.name][this.value], function(k, v) {
                    src.append('<option value="'+k+'">'+v+'</option>')
                })
            } else alert(this.value) //иначе выбор в последнем списке - цель
        }
    }).find('select');
});
</script> 
</head>
<body>
<form id="list" autocomplete="off">
    <select name="a">
        <option value="">Select...</option>
        <option value="1">Var 1-1</option>
        <option value="2">Var 1-2</option>
    </select>
    <select name="b" disabled>
    </select>
    <select name="c" disabled>
    </select>
</form>
</body>
</html>

Последний раз редактировалось laimas, 24.03.2017 в 18:42.
Ответить с цитированием