2014-11-27 3 views
0

У меня есть проблема в отношении следующих Codelines:Используйте значение параметра в качестве имени массива в Jquery

$(document).ready(function() { 
    getJsonDataToSelect("ajax/json/assi.hotel.json", '#assi_hotel', 'hotelName'); 
}); 
function getJsonDataToSelect(url, id, key){ 
       $.ajax({ 
        dataType: "json", 
        url: url, 
        success: function(hotels){ 
         $.each(hotels, function(){ 
         $(id).append('<option value="'+ this.key +'">'+ this.key +'</option>') 
         }); 
        } 
       }); 
      } 

данные JSON выглядит следующим образом:

[ 
    {"hotelName":"hotel1"}, 
    {"hotelName":"hotel2"}, 
    {"hotelName":"hotel3"} 
] 

мне нужно использовать «ключ», как "hotelName" (arrayname). Заранее, нет возможности назвать это по-другому .. это назначено так. Очевидно, что это не сработает, потому что «ключ» не определен как arrayname в Json-файле.

Мой вопрос в том, есть ли способ, что JQuery использует parametervalue, а не имя parametername.

Заранее благодарен!

+0

Измените два раза 'this.key' --->' this [key] '. –

+0

Обязательно использовать 'hotelName' как' 'вариант' 'значение' _and_' option' текст - _not_ 'hotel1' для' option' текст? – guest271314

+0

Большое вам спасибо! Это именно то решение, которое я искал. –

ответ

0

Изменить два раза this.key ---> this [key].

Благодаря Martin Ernst.

0

Нет способа jQuery, но там есть собственный способ javascript. Вы можете использовать Object.keys, который возвращает ключи объектов, переданных в качестве параметра.

+0

Спасибо за быстрый ответ, но это был не тот ответ, который я искал ... Но это помогло мне решить еще одну проблему :) –

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