2011-04-09 16 views
5

मेरे पास एक जेसन फ़ाइल है:jQuery कैसे एक फार्म फ़ील्ड में कुछ जेसन रिकॉर्ड लोड करने के लिए?

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

और एक फॉर्म:

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

मैं सोच रहा था कि एकाधिक जेएसएन रिकॉर्ड एकाधिक फॉर्म तत्वों में लोड करने के लिए सही सिंटैक्स क्या है ?? कुछ ऐसा फॉर्म जो आप चाहते हैं कि आप संशोधित करना चाहते हैं और मान उन क्षेत्रों में घुमाए गए हैं

मुझे पता है कि मैं इसका उपयोग कर सकता हूं:

$getJSON('link_to_json_file' function() { 

}); 

लेकिन मैं यहां फंस गया हूं धन्यवाद

उत्तर

14

या यदि आपके डेटा वापसी की तरह FIELDNAME मान युग्म था:

$.getJSON('url_to_file', function(data) { 
    for (var i in data) { 
     $('input[name="'+i+'"]').val(data[i]); 
    } 
}); 
+3

'$ .each (डेटा, फ़ंक्शन (कुंजी, वैल) {}) हो सकता है;' ' के लिए बेहतर होगा –

+5

यह बेहतर क्यों होगा? मैंने देखा है कि बेंचमार्क दिखाता है कि लूप के लिए देशी के साथ ट्रैवर्सिंग तेजी से है, खासकर बड़ी वस्तुओं के साथ। –

+0

ठीक है, यह थोड़ा तेज़ हो सकता है, लेकिन 'प्रत्येक' वाक्यविन्यास 'डेटा [i]' जैसी कुछ चीज़ों के साथ मूल ''' की तुलना में सामान्य इटरेटर की तरह दिखता है और यदि आप बहुत बड़ी वस्तुओं का उपयोग नहीं कर रहे हैं तो मुझे लगता है कि आपको चाहिए 'प्रत्येक' –

1

तो अटक कर रहा हूँ , $.getJSON के साथ क्या गलत है? यह ठीक काम करता है:

$.getJSON("1.json", function(data) { 
    $('input[name="firstname"]').val(data["data"]); 
    $('input[name="lastname"]').val(data["size"]); 
}); 
+0

हाँ, यह काम करता है, लेकिन मैं कोड का एक और छोटा संस्करण ढूंढ रहा था, क्योंकि मेरे पास 20 इनपुट बॉक्स – Patrioticcow

1

आप नीचे की तरह $ .get का उपयोग भी कर सकते हैं;

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

आप पर JQuery loadJSON प्लगइन पर एक नज़र डालें किया जा सका:

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

आप इसे पसंद कर सकता है 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। मुझे लगता है कि यह वही है जो आपको चाहिए।

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

इस प्लग में इस तरह के चेक बॉक्स का चयन करें सूची रेडियो बटन आदि आप आप इसका इस्तेमाल करते हैं से प्लग इन डाउनलोड करने की आवश्यकता होगी के रूप में सभी प्रपत्र तत्व संभालती है: बस निम्नलिखित कोड का उपयोग कर के रूप में खाली फार्म और लोड json बनाने http://code.google.com/p/jquery-load-json/source/browse/trunk/scripts/jquery.loadJSON.js