За последние 24 часа нас посетили 22663 программиста и 1588 роботов. Сейчас ищут 839 программистов ...

Json

Тема в разделе "PHP для новичков", создана пользователем immortal.1986, 15 окт 2013.

  1. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Помогите ну не как получается!
    есть массив на Джаве
    var colorsArray = {

    "BentleyAzure" : {"red":"1",green:"Зеленый"},
    ChevroletCorvette : {black:"Черный",blue:"Синий"},
    FerrariEnzo : {green:"Зеленый",black:"Черный",yellow:"Желтый"}

    }
    Мне надо вместо этого массива сюда заганять переменныю ПХП!
    Делаю так
    $arr = array('BentleyAzure' => array(red=>"1",green=>"2"),
    'ChevroletCorvette' =>array(black=>"12",blue=>"21"),
    'FerrariEnzo' => array(green=>"121",black=>"123",yellow=>"321"));

    $arrrr = json_encode($arr);
    и собственно вопрос КАК сделать
    var colorsArray = $arrrr;
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    json_decode()
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не он про другое

    Добавлено спустя 3 минуты 52 секунды:
    Код (PHP):
    1. echo "<script> var colorsArray = $arrrr;</script>"; 
     
  4. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Код (Text):
    1. <?php header('Content-Type: text/html; charset=utf-8');
    2.  
    3. $arr = array('BentleyAzure' => array(red=>"1",green=>"2"),
    4.              'ChevroletCorvette' =>array(black=>"12",blue=>"21"),
    5.              'FerrariEnzo' => array(green=>"121",black=>"123",yellow=>"321"));
    6.  
    7. $arrrr =  json_encode($arr);
    8.  
    9. ?>
    10. <head>
    11. <title>Связанные списки</title>
    12. <script type="text/javascript">
    13. // Данные, как бы из базы, сформированные на стороне сервера.
    14. // Обычно находятся в подключаемом JavaScript файле.
    15. var colorsArray = echo "<script> var colorsArray = $arrrr;</script>";
    16. function getColors(_this){
    17.     var colors = colorsArray[_this.value];
    18.     var _select = document.getElementById("colors");
    19.     _select.innerHTML = ""; // Удаляем всех потомков.
    20.  
    21.     for(var i in colors){ // Добавляем доступные цвета.
    22.         var option = document.createElement("option");
    23.         var optionText = document.createTextNode(colors[i]);
    24.         option.appendChild(optionText);
    25.         option.setAttribute("value",i);
    26.         _select.appendChild(option);
    27.     }
    28.  
    29.     // Делаем список цветов видимым.
    30.     _select.style.display="inline";
    31. }
    дальше ХТМЛ

    Добавлено спустя 2 минуты 48 секунд:
    igordata не выходить !!!! сломал голову вроде простая задача а чегото ну не как!!!!!
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    immortal.1986, конечно не выходит. Вы хоть сами посмотрите, чего нарисовали :)))) Вот так должно сработать
    Код (Text):
    1.  
    2. <?php header('Content-Type: text/html; charset=utf-8');
    3.  
    4. $arr = array('BentleyAzure' => array(red=>"1",green=>"2"),
    5.           'ChevroletCorvette' =>array(black=>"12",blue=>"21"),
    6.           'FerrariEnzo' => array(green=>"121",black=>"123",yellow=>"321"));
    7.  
    8. $arrrr =  json_encode($arr);
    9.  
    10. ?>
    11. <head>
    12. <title>Связанные списки</title>
    13. <script type="text/javascript">
    14. // Данные, как бы из базы, сформированные на стороне сервера.
    15. // Обычно находятся в подключаемом JavaScript файле.
    16. var colorsArray = <?php echo $arrrr; ?>;
    17. function getColors(_this){
    18.     var colors = colorsArray[_this.value];
    19.     var _select = document.getElementById("colors");
    20.     _select.innerHTML = ""; // Удаляем всех потомков.
    21.  
    22.     for(var i in colors){ // Добавляем доступные цвета.
    23.         var option = document.createElement("option");
    24.         var optionText = document.createTextNode(colors[i]);
    25.         option.appendChild(optionText);
    26.         option.setAttribute("value",i);
    27.         _select.appendChild(option);
    28.     }
    29.  
    30.     // Делаем список цветов видимым.
    31.     _select.style.display="inline";
    32. }
    А всё от того, что лень почитать про php хоть немного... Ёлки, ведь из поста в пост людям приходится самые азы объяснять. При этом приходят с реальными проектами...
     
  6. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    ддаа!!! спасибо за помощь! но не работает азы то мы знааем! только вот не работает!

    Добавлено спустя 1 минуту 12 секунд:
    не знаю что и делать! вот ВЕСЬ код!
    Код (Text):
    1. <?php header('Content-Type: text/html; charset=utf-8');
    2.  
    3. $arr = array('BentleyAzure' => array(red=>"1",green=>"2"),
    4.              'ChevroletCorvette' =>array(black=>"12",blue=>"21"),
    5.              'FerrariEnzo' => array(green=>"121",black=>"123",yellow=>"321"));
    6.  
    7. echo  json_encode($arr);
    8.  
    9. ?>
    10. <head>
    11. <title>Связанные списки</title>
    12. <script type="text/javascript">
    13. // Данные, как бы из базы, сформированные на стороне сервера.
    14. // Обычно находятся в подключаемом JavaScript файле.
    15. var colorsArray = echo "<script> var colorsArray = $arrrr;</script>";
    16. var toneArray = {
    17.  
    18.     red : {red:"Красны11й",green:"Зел11еный"},
    19.     black : {black:"Черны11й",blue:"Син11ий"},
    20.     green : {green:"Зелены11й",black:"Че11рный",yellow:"Же11лтый"},
    21.      blue : {black:"Черн11ый",blue:"Сини11й"}
    22.  
    23. }
    24. var salonsArray = {
    25.  
    26.     red : {red:"Кр22асный",green:"Зеле22ный"},
    27.     black : {black:"Чер22ный",blue:"Си22ний"},
    28.     green : {green:"Зеле22ный",black:"Чер22ный",yellow:"Жел22тый"},
    29.      blue : {black:"Черн22ый",blue:"Син22ий"}
    30.  
    31. }
    32. // Функция, заполняющая список цветами доступными для выбранной модели.
    33. function getColors(_this){
    34.     var colors = colorsArray[_this.value];
    35.     var _select = document.getElementById("colors");
    36.     _select.innerHTML = ""; // Удаляем всех потомков.
    37.  
    38.     for(var i in colors){ // Добавляем доступные цвета.
    39.         var option = document.createElement("option");
    40.         var optionText = document.createTextNode(colors[i]);
    41.         option.appendChild(optionText);
    42.         option.setAttribute("value",i);
    43.         _select.appendChild(option);
    44.     }
    45.  
    46.     // Делаем список цветов видимым.
    47.     _select.style.display="inline";
    48. }
    49.  
    50. function getTones(_this){
    51.     var tones = toneArray[_this.value];
    52.     var _select = document.getElementById("tones");
    53.     _select.innerHTML = ""; // Удаляем всех потомков.
    54.  
    55.     for(var i in tones){ // Добавляем доступные цвета.
    56.         var option = document.createElement("option");
    57.         var optionText = document.createTextNode(tones[i]);
    58.         option.appendChild(optionText);
    59.         option.setAttribute("value",i);
    60.         _select.appendChild(option);
    61.     }
    62.  
    63.     // Делаем список цветов видимым.
    64.     _select.style.display="inline";
    65. }
    66. function getSalons(_this){
    67.     var salons = salonsArray[_this.value];
    68.     var _select = document.getElementById("salons");
    69.     _select.innerHTML = ""; // Удаляем всех потомков.
    70.  
    71.     for(var i in salons){ // Добавляем доступные цвета.
    72.         var option = document.createElement("option");
    73.         var optionText = document.createTextNode(salons[i]);
    74.         option.appendChild(optionText);
    75.         option.setAttribute("value",i);
    76.         _select.appendChild(option);
    77.     }
    78.  
    79.     // Делаем список цветов видимым.
    80.     _select.style.display="inline";
    81. }
    82. </script>
    83. </head>
    84.  
    85.  
    86. <body>
    87. <form action="#" method="get">
    88.  
    89. Модели
    90. <select id="models" name="models" onchange="getColors(this)">
    91.  
    92.   <option value="BentleyAzure">Bentley Azure</option>
    93.   <option value="ChevroletCorvette">Chevrolet Corvette</option>
    94.   <option value="FerrariEnzo">Ferrari Enzo</option>
    95.  
    96. </select>
    97. <br/>
    98.  
    99. Цвета
    100. <select id="colors" name="colors" onchange="getTones(this)" ></select>
    101. <br/>
    102.  
    103. tone
    104. <select id="tones" name="tones" onchange="getSalons(this)"></select>
    105. <br/>
    106. tonesss
    107. <select id="salons" name="salons"></select>
    108. <br/>
    109. <input type="submit" value="Выбрать" />
    110.  
    111. </form>
    112. </body>
    Добавлено спустя 56 секунд:
    как только делаю АЗЫ!!!!var colorsArray = echo "<script> var colorsArray = $arrrr;</script>";
    сразу все перестаёт работать!
    может гдето спатыкаюсь!
    спасите помогите 8)

    Добавлено спустя 1 минуту 21 секунду:
    На вопрос зачем это надо - это часть кода большой программы! в данном случаи запись! вот данные будут прилетать из МУСКУЛА обрабатываться пхп функциями получать данные и в эту ДЖАВУ для выбора!
     
  7. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Азы занете? Это смешно... Ничего вы не знаете, раз пишете такую ерунду.
    Код (PHP):
    1. // Данные, как бы из базы, сформированные на стороне сервера.
    2. // Обычно находятся в подключаемом JavaScript файле.
    3. var colorsArray=<?php echo $arrrr;?>;
     
  8. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    ну вот вы опять за своё!!!!!!! азы да азы!
    Спасибо за помощь!
    Не работает!

    Добавлено спустя 1 минуту 30 секунд:
    мне еще на разных форумах типо ниче вы не знаете надо вот так
    Варианты:

    var colorsArray="<?php echo $arrrr;?>";
    var colorsArray=["<?php echo $arrrr;?>"];

    ксатет тоже не работает!

    Добавлено спустя 49 секунд:
    тут вопрос интересный! надо пробавать! а гуглить и сам умеею!
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чувак, тебе 27 лет?
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Так, откройте ваш сайт в хроме, там есть консоль (Ctrl+Shift+J). Или в файрбаге в firefox, но там я вам не подсказчик - пользуюсь редко. Раз не работает, в консоли должно быть сообщение об ошибке. Только с моим кодом, пожалуйста, не со своим, ваш вообще бред страшенный, уж извините :) И ещё покажите, как в браузере этот фрагмент сгенерился html-кода. Понятнее будет.
     
  11. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    ага
    и че? 8)

    Добавлено спустя 1 минуту 28 секунд:
    блин да нету ошибки...... есть поля формы! и увсе...... нету начала!!! тоесть этого массива.

    Добавлено спустя 1 минуту 22 секунды:
    Код (Text):
    1. <?php header('Content-Type: text/html; charset=utf-8');
    2.  
    3. $arr = array('BentleyAzure' => array(red=>"1",green=>"2"),
    4.              'ChevroletCorvette' =>array(black=>"12",blue=>"21"),
    5.              'FerrariEnzo' => array(green=>"121",black=>"123",yellow=>"321"));
    6.  
    7. $arrrr =  json_encode($arr);
    8.  
    9. ?>
    10. <head>
    11. <title>Связанные списки</title>
    12. <script type="text/javascript">
    13. // Данные, как бы из базы, сформированные на стороне сервера.
    14. // Обычно находятся в подключаемом JavaScript файле.
    15. var colorsArray='<?php echo $arrrr;?>';
    16. var toneArray = {
    17.  
    18.     red : {red:"Красны11й",green:"Зел11еный"},
    19.     black : {black:"Черны11й",blue:"Син11ий"},
    20.     green : {green:"Зелены11й",black:"Че11рный",yellow:"Же11лтый"},
    21.      blue : {black:"Черн11ый",blue:"Сини11й"}
    22.  
    23. }
    24. var salonsArray = {
    25.  
    26.     red : {red:"Кр22асный",green:"Зеле22ный"},
    27.     black : {black:"Чер22ный",blue:"Си22ний"},
    28.     green : {green:"Зеле22ный",black:"Чер22ный",yellow:"Жел22тый"},
    29.      blue : {black:"Черн22ый",blue:"Син22ий"}
    30.  
    31. }
    32. // Функция, заполняющая список цветами доступными для выбранной модели.
    33. function getColors(_this){
    34.     var colors = colorsArray[_this.value];
    35.     var _select = document.getElementById("colors");
    36.     _select.innerHTML = ""; // Удаляем всех потомков.
    37.  
    38.     for(var i in colors){ // Добавляем доступные цвета.
    39.         var option = document.createElement("option");
    40.         var optionText = document.createTextNode(colors[i]);
    41.         option.appendChild(optionText);
    42.         option.setAttribute("value",i);
    43.         _select.appendChild(option);
    44.     }
    45.  
    46.     // Делаем список цветов видимым.
    47.     _select.style.display="inline";
    48. }
    49.  
    50. function getTones(_this){
    51.     var tones = toneArray[_this.value];
    52.     var _select = document.getElementById("tones");
    53.     _select.innerHTML = ""; // Удаляем всех потомков.
    54.  
    55.     for(var i in tones){ // Добавляем доступные цвета.
    56.         var option = document.createElement("option");
    57.         var optionText = document.createTextNode(tones[i]);
    58.         option.appendChild(optionText);
    59.         option.setAttribute("value",i);
    60.         _select.appendChild(option);
    61.     }
    62.  
    63.     // Делаем список цветов видимым.
    64.     _select.style.display="inline";
    65. }
    66. function getSalons(_this){
    67.     var salons = salonsArray[_this.value];
    68.     var _select = document.getElementById("salons");
    69.     _select.innerHTML = ""; // Удаляем всех потомков.
    70.  
    71.     for(var i in salons){ // Добавляем доступные цвета.
    72.         var option = document.createElement("option");
    73.         var optionText = document.createTextNode(salons[i]);
    74.         option.appendChild(optionText);
    75.         option.setAttribute("value",i);
    76.         _select.appendChild(option);
    77.     }
    78.  
    79.     // Делаем список цветов видимым.
    80.     _select.style.display="inline";
    81. }
    82. </script>
    83. </head>
    84.  
    85.  
    86. <body>
    87. <form action="#" method="get">
    88. Выберите страну
    89. <select id="models" name="models" onchange="getColors(this)">
    90.   <option value="BentleyAzure">Bentley Azure</option>
    91.   <option value="ChevroletCorvette">Chevrolet Corvette</option>
    92.   <option value="FerrariEnzo">Ferrari Enzo</option>
    93. </select>
    94. <br/>
    95. Выберите обл.
    96. <select id="colors" name="colors" onchange="getTones(this)" ></select>
    97. <br/>
    98. Выберите город
    99. <select id="tones" name="tones" onchange="getSalons(this)"></select>
    100. <br/>
    101. Выберите салон
    102. <select id="salons" name="salons"></select>
    103. <br/>
    104. <input type="submit" value="Выбрать" />
    105. </form>
    106. </body>
    Добавлено спустя 1 минуту 13 секунд:
    если вместо var colorsArray='<?php echo $arrrr;?>'; тупарём прописать массив var colorsArray = {

    BentleyAzure : {"red":"1",green:"Зеленый"},
    ChevroletCorvette : {black:"Черный",blue:"Синий"},
    FerrariEnzo : {green:"Зеленый",black:"Черный",yellow:"Желтый"}

    }
    то все ОКИДОКИ
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    В консоли нет ошибки? Быть не может. JavaScript бы заругался, если бы я вам неверно подсказал. Вы на локале делаете, или урл уже есть и можно посмотреть? Может вы вкладку консоли не открыли? И одинарные кавычки - это вы придумали, я вам их не рисовал.
     
  13. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    на локальки денвер

    Добавлено спустя 1 минуту 36 секунд:
    АААААААААААААААААААААААААААА
    ВСЕМ СПАСИБО!!!!! заработало
     
  14. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    ОК. Откройте свой сайт (ещё раз, с моим кодом!), нажмите ctrl+u, и скопируйте весь html куда нибудь в pastebin.com, дайте ссылку. Сюда копировать не надо - хрен прочтёшь. Там видно будет, что у вас не так. Если что, я за вас в консоль браузера посмотрю :)))
     
  15. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    var colorsArray=<?php echo $arrrr;?>; - работает
    var colorsArray=<?php echo $arrrr;?> - не работает!
     
  16. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Любопытно. По идее ; в JavaScript необязательно. Но я её ставлю там всё равно - мне так привычнее :)
     
  17. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Ну да писать такую хуйню и усираться, что я бог азов, не прочитав не разу мануал. БРЕД!
    Далее... даже не включили ошибки и предупреждения.

    Сразу же об этом:
    Код (PHP):
    1. $arr = array('BentleyAzure' => array(red=>"1",green=>"2"), 
    2.           'ChevroletCorvette' =>array(black=>"12",blue=>"21"), 
    3.           'FerrariEnzo' => array(green=>"121",black=>"123",yellow=>"321")); 
    Внимательно посмотрите как вы пишите ключи во вложенных массивах.
    После чего я просто не уверен, что вы вообще соображаете, что будет.
    Notice: Use of undefined constant red - assumed 'red'
    Далее...
    Сделаем обработку:
    Код (PHP):
    1. <?php
    2. header('Content-Type:text/html;charset=utf-8');
    3. $json=array(
    4.     'BentleyAzure'=>array(
    5.         'red'=>'1',
    6.         'green'=>'2'
    7.     ), 
    8.     'ChevroletCorvette'=>array(
    9.         'black'=>'12',
    10.         'blue'=>'21'
    11.     ), 
    12.     'FerrariEnzo'=>array(
    13.         'green'=>'121',
    14.         'black'=>'123',
    15.         'yellow'=>'321'
    16.     )
    17. );
    18. $json=json_encode($json);
    19. ?>
    20. <head>
    21. <title>Связанные списки</title>
    22. <script type="text/javascript">
    23. // Данные, как бы из базы, сформированные на стороне сервера.
    24. // Обычно находятся в подключаемом JavaScript файле.
    25. var colorsArray=<?php echo $json; ?>;
    26. var toneArray = {
    27.  
    28.     red : {red:"Красны11й",green:"Зел11еный"},
    29.     black : {black:"Черны11й",blue:"Син11ий"},
    30.     green : {green:"Зелены11й",black:"Че11рный",yellow:"Же11лтый"},
    31.     blue : {black:"Черн11ый",blue:"Сини11й"}
    32.  
    33. }
    34. var salonsArray = {
    35.  
    36.     red : {red:"Кр22асный",green:"Зеле22ный"},
    37.     black : {black:"Чер22ный",blue:"Си22ний"},
    38.     green : {green:"Зеле22ный",black:"Чер22ный",yellow:"Жел22тый"},
    39.     blue : {black:"Черн22ый",blue:"Син22ий"}
    40.  
    41. }
    42. // Функция, заполняющая список цветами доступными для выбранной модели. 
    43. function getColors(_this){
    44.     var colors = colorsArray[_this.value];
    45.     var _select = document.getElementById("colors");
    46.     _select.innerHTML = ""; // Удаляем всех потомков.
    47.  
    48.     for(var i in colors){ // Добавляем доступные цвета.
    49.     console.log(i+'==='+colors[i]);
    50.         var option = document.createElement("option");
    51.         var optionText = document.createTextNode(colors[i]);
    52.         option.appendChild(optionText);
    53.         option.setAttribute("value",i);
    54.         _select.appendChild(option);
    55.     }
    56.  
    57.     // Делаем список цветов видимым.
    58.     _select.style.display="inline";
    59. }
    60.  
    61. function getTones(_this){
    62.     var tones = toneArray[_this.value];
    63.     var _select = document.getElementById("tones");
    64.     _select.innerHTML = ""; // Удаляем всех потомков.
    65.  
    66.     for(var i in tones){ // Добавляем доступные цвета.
    67.         var option = document.createElement("option");
    68.         var optionText = document.createTextNode(tones[i]);
    69.         option.appendChild(optionText);
    70.         option.setAttribute("value",i);
    71.         _select.appendChild(option);
    72.     }
    73.  
    74.     // Делаем список цветов видимым.
    75.     _select.style.display="inline";
    76. }
    77. function getSalons(_this){
    78.     var salons = salonsArray[_this.value];
    79.     var _select = document.getElementById("salons");
    80.     _select.innerHTML = ""; // Удаляем всех потомков.
    81.  
    82.     for(var i in salons){ // Добавляем доступные цвета.
    83.         var option = document.createElement("option");
    84.         var optionText = document.createTextNode(salons[i]);
    85.         option.appendChild(optionText);
    86.         option.setAttribute("value",i);
    87.         _select.appendChild(option);
    88.     }
    89.  
    90.     // Делаем список цветов видимым.
    91.     _select.style.display="inline";
    92. }
    93. </script>
    94. </head>
    95.  
    96.  
    97. <body>
    98. <form action="#" method="get">
    99.  
    100. Модели
    101. <select id="models" name="models" onchange="getColors(this)">
    102.  
    103.   <option value="BentleyAzure">Bentley Azure</option>
    104.   <option value="ChevroletCorvette">Chevrolet Corvette</option>
    105.   <option value="FerrariEnzo">Ferrari Enzo</option>
    106.  
    107. </select>
    108. <br/>
    109.  
    110. Цвета
    111. <select id="colors" name="colors" onchange="getTones(this)" ></select>
    112. <br/>
    113.  
    114. tone
    115. <select id="tones" name="tones" onchange="getSalons(this)"></select>
    116. <br/>
    117. tonesss
    118. <select id="salons" name="salons"></select>
    119. <br/>
    120. <input type="submit" value="Выбрать" />
    121.  
    122. </form>
    123. </body>

    Меняется селект цвета, при выборе, после загрузки страницы еще нужно, чтобы автоматов смотрело выбранный option и показывало цвета.
    И т. д. Все изменять не стал.
     
  18. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Агромное спасибо! уже решил!!!! а поповоду ковычек сдесь они не играю роль!(в данном примере)

    Добавлено спустя 1 минуту 6 секунд:
    и про кавычки я просто уже експерементировал и с ними и без и то и сё! и наверно уже кинул так!

    Добавлено спустя 2 минуты 47 секунд:
    ВСЁ всем ОГРОМЕДНОЕ спасибо!!!! помогли оставить мозг в живих!
    Повторюсь
    var colorsArray=<?php echo $arrrr;?>; - работает
    var colorsArray=<?php echo $arrrr;?> - не работает

    Почему даже не хочу знать! 8))))
     
  19. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. var colorsArray=<?php echo $json; ?>
    2. var toneArray = {
    3.     red : {red:"Красны11й",green:"Зел11еный"},
    4.     black : {black:"Черны11й",blue:"Син11ий"},
    5.     green : {green:"Зелены11й",black:"Че11рный",yellow:"Же11лтый"},
    6.     blue : {black:"Черн11ый",blue:"Сини11й"}
    7. }
    Вообще просто тут нет видит завершение строки, потому, что обрабатывается другой скрипт без ковычек.
    Если вы сделаете так:

    Код (PHP):
    1. var colorsArray=<?php echo $json; ?>
    2.  
    3. var toneArray = {
    4.     red : {red:"Красны11й",green:"Зел11еный"},
    5.     black : {black:"Черны11й",blue:"Син11ий"},
    6.     green : {green:"Зелены11й",black:"Че11рный",yellow:"Же11лтый"},
    7.     blue : {black:"Черн11ый",blue:"Сини11й"}
    8. }
    Работать будет, или если поставить пробел после ?>. РАБОТАТЬ БУДЕТ!
    Ну лучше сразу завершить скрипт " ; ".
     
  20. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Верняк!!! спасибо!!!!
     
  21. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Эксперемент:
    Код (PHP):
    1. <?php
    2. header('Content-Type:text/html;charset=utf-8');
    3. $json=array(
    4.     'BentleyAzure'=>array(
    5.         'red'=>'1',
    6.         'green'=>'2'
    7.     ), 
    8.     'ChevroletCorvette'=>array(
    9.         'black'=>'12',
    10.         'blue'=>'21'
    11.     ), 
    12.     'FerrariEnzo'=>array(
    13.         'green'=>'121',
    14.         'black'=>'123',
    15.         'yellow'=>'321'
    16.     )
    17. );
    18. $json=json_encode($json);
    19. ?>
    20. <!DOCTYPE html>
    21. <html>
    22. <head>
    23. <meta charset="utf-8">
    24. <title>Связанные списки</title>
    25. <script type="text/javascript">
    26. (function(window,undefined) {
    27.     this.colorsArray=<?php echo $json; ?>;
    28.     this.getClass=function(className) {
    29.         var arrayTags=document.getElementsByTagName('*');
    30.         for(var i in arrayTags) {
    31.             if(arrayTags[i].className===className) {
    32.                 return arrayTags[i];
    33.             }
    34.         }
    35.     return undefined;
    36.     };
    37.     this.getId=function(id) {
    38.         if('#'===id.charAt(0)) {
    39.             id=id.substring(1);
    40.         }
    41.         return document.getElementById(id);
    42.     };
    43.     this.onload=function(callback) {
    44.         if(this.type(callback,'function')) {
    45.             if(window.addEventListener) {
    46.                 window.addEventListener('load',callback,false)
    47.             } else if(window.attachEvent) {
    48.                 window.attachEvent('onload',callback)
    49.             } else {
    50.                 window.onload=callback;
    51.             }
    52.         }
    53.     };
    54.     this.type=function(variable,isType,bool) {
    55.         bool=bool || false;
    56.         if('undefined'===typeof isType) {
    57.             return'undefined'!==typeof variable;
    58.         } else if('array'===isType) {
    59.             return this.isArray(variable);
    60.         } else {
    61.             return(!bool || this.type(variable)) && !this.isArray(variable) && isType===typeof variable;
    62.         }
    63.     };
    64.     this.isArray=function(array) {
    65.         return array instanceof Array;
    66.     };
    67.     this.select=function(id,unset) {
    68.         if(this.type(id,'string',true)) {
    69.             var select=this.getId(id);
    70.             if(this.type(unset,'boolean',true) && true===unset) {
    71.                 select.innerHTML='';
    72.             }
    73.             return this.getId(id);
    74.         } 
    75.     };
    76.     this.selectOption=function(select,number) {
    77.         if(this.type(select,'object',true)) {
    78.             return select.options[number];
    79.         }
    80.     };
    81.     this.getColors=function(option){
    82.         var colorsArray=this.colorsArray[option.value],
    83.         select=this.select('colors',true);
    84.         for(var i in colorsArray) {
    85.             var option=document.createElement('option');
    86.             option.value=i;
    87.             option.innerHTML=colorsArray[i];
    88.             select.appendChild(option);
    89.         }
    90.     };
    91. })(window);
    92. onload(function() {
    93.     var models=select('models'),
    94.     option=selectOption(models,0);
    95.     if(option.value) {
    96.         getColors(option);
    97.     }
    98.     models.onchange=function() {
    99.         getColors(selectOption(this,this.selectedIndex));
    100.     };
    101. });
    102. </script>
    103. </head>
    104. <body>
    105. <form id="form1" method="get">
    106. Модели <select id="models" name="models">
    107.     <option value="BentleyAzure">Bentley Azure</option>
    108.     <option value="ChevroletCorvette">Chevrolet Corvette</option>
    109.     <option value="FerrariEnzo">Ferrari Enzo</option>
    110. </select>
    111. <br>
    112. Цвета
    113. <select id="colors" name="colors"></select>
    114. <br>
    115. <br>
    116. <input type="submit" value="Выбрать">
    117. </form>
    118. </body>
    Продолжить бы не мешало бы =)))