2015-06-08 3 views
1

Тех значений я использую, чтобы заполнить форму:Ассоциативный массив с пространством в имени не появляется

var champions = { 
    "Azir":["Shurima's Legacy","Conquering Sands","Arise!","Shifting Sands", "Emperor's Divide"], 
    "Dr. Mundo":["Shurima's Legacy","Conquering Sands","Arise!","Shifting Sands", "Emperor's Divide"] 
    }; 

проблема с пространством вместо доктора Мундо он показывает, как д-р есть в любом случае решить эту проблему?

Update:

echo '<input class="champion" type="text" list="champions" placeholder="Champion '.$i.'" name="champno[]" required autofocus><br/> 
          <datalist id="champions"></datalist>'; 

Jquery:

for(var key in champions){ 
      if(champions.hasOwnProperty(key)){ 
       $('#champions').append('<option value=' + key + '>'); 
      } 
     } 
+2

Что такое «это»? JS не волнует, какие символы образуют ключ, как только это строка. – zerkms

+1

Кажется, что он работает правильно для меня - возможно, проблема связана с какой-то другой частью кода, который вы используете? Не могли бы вы добавить какой-то контекст? – Lix

+0

То, что вы указали в своем обновлении, даже не JS (но php). – zerkms

ответ

3

цитата значение:

for(var key in champions){ 
     if(champions.hasOwnProperty(key)){ 
      $('#champions').append('<option value="' + key + '">'); 
     } 
    } 

или, вы должны использовать что-то вроде этого (для демо, не тестировался):

$('#champions').append($('<option>').attr('value', key)); 
+0

Работает спасибо! (первый вариант) – Higeath

Смежные вопросы