jQuery как да заредите някои json записи в полета на формуляр?

имам json файл:

{
   "data":"Click",
   "size":"Here"
}

и форма:

<form>
   First name: <input type="text" name="firstname" /><br />
   Last name: <input type="text" name="lastname" />
</form>

чудех се какъв е правилният синтаксис за зареждане на множество json записи в множество елементи на формуляр?? Нещо като формуляр, който искате да промените и стойностите се поставят в тези полета

знам, че мога да използвам:

$getJSON('link_to_json_file' function() {

});

но аз останах тук, благодаря


person Patrioticcow    schedule 09.04.2011    source източник


Отговори (4)


Или ако върнатите ви данни са двойки стойности име на поле като:

{"firstname" : "John", "lastname" : "Doe"}

можете да го направите така:

$.getJSON('url_to_file', function(data) {
    for (var i in data) {
        $('input[name="'+i+'"]').val(data[i]);
    }
});
person William W. Doyle    schedule 09.04.2011
comment
$.each(data, function(key, val) { }); вместо for ще бъде по-добре - person Vasiliy Ermolovich; 09.04.2011
comment
защо ще е по-добре? бенчмарковете, които съм виждал, показват, че преминаването с естествените for цикли е по-бързо, особено с големи обекти. - person William W. Doyle; 09.04.2011
comment
добре, може да е малко по-бързо, но each синтаксисът изглежда като нормален итератор в сравнение с естествения for с някои неща като data[i] и ако не използвате много големи обекти, мисля, че трябва да използвате each - person Vasiliy Ermolovich; 09.04.2011
comment
Въпреки че примерът на OP използва въвеждане, трябва да се отбележи, че предоставеният код няма да удари текстови полета. Бих променил това на $('.form-class *[name="'+i+'"]').val(data[i]); - където .form-class е формулярът, към който искате да се насочите. - person David Bradbury; 14.10.2016

Бихте ли могли да разгледате приставката JQuery loadJSON на http://code.google.com/p/jquery-load-json/? На страницата http://code.google.com/p/jquery-load-json/wiki/WorkingWithFormElements е обяснено как този плъгин зарежда JSON обект във формуляра. Можете също да намерите един жив пример тук http://jquery-load-json.googlecode.com/svn/trunk/edit.html?ID=17. Мисля, че това е точно това, от което се нуждаете. Просто създайте празен формуляр и заредете json във формуляра, като използвате следния код:

$('form').loadJSON(data);

Този плъгин обработва всички елементи на формуляри, като квадратчета за отметка, бутони за избор на списък и т.н. Ако го използвате, ще трябва да изтеглите плъгина от http://code.google.com/p/jquery-load-json/source/browse/trunk/scripts/jquery.loadJSON.js.

person Jovan MSFT    schedule 27.04.2011

Можете също да използвате $.get както по-долу;

$.get('your_file.[php/json]',function(d){
    $("input[name='firstname']").val(d.data);
    $("input[name='firstname']").val(d.size);
},'json');
person thecodeparadox    schedule 09.04.2011

stackoverflow.com/ въпроси/738367/
person Vasiliy Ermolovich    schedule 09.04.2011
comment
да, това работи, но търсих по-кратка версия на кода, защото може да имам 20 полета за въвеждане - person Patrioticcow; 09.04.2011