2010-05-13 18 views
5

मैं एक जेसन ऑब्जेक्ट में डेटा संपादित करने के लिए एक गतिशील रूप बना रहा हूं। सबसे पहले, अगर ऐसा कुछ मौजूद है तो मुझे बताएं। मैं इसे बनाने के बजाय नहीं बल्कि मैंने उपकरण के लिए कई बार खोज की है और केवल ऐसे पेड़ जैसे पेड़ पाए हैं जिन्हें उद्धरण दर्ज करने की आवश्यकता है। मुझे तारों के रूप में सभी मूल्यों का इलाज करने में खुशी होगी। यह संपादन कार्यक्षमता अंतिम उपयोगकर्ताओं के लिए है, इसलिए इसे आसान नहीं होने की आवश्यकता है।बाध्यकारी नेस्टेड जेसन ऑब्जेक्ट वैल्यू को फॉर्म फ़ील्ड

अभी तक मेरे पास कोड है जो जेसन ऑब्जेक्ट का प्रतिनिधित्व करने के लिए नेस्टेड टेबल उत्पन्न करता है। प्रत्येक मान के लिए मैं एक फॉर्म फ़ील्ड प्रदर्शित करता हूं। मैं फॉर्म फ़ील्ड को संबंधित नेस्टेड जेसन मान में बांधना चाहता हूं। अगर मैं जेसन मूल्य के संदर्भ को संग्रहीत कर सकता हूं तो मैं एक जेसन ऑब्जेक्ट पेड़ में प्रत्येक मान के संदर्भों का एक सरणी बनाउंगा। मुझे जावास्क्रिप्ट के साथ ऐसा करने का कोई तरीका नहीं मिला है।

मेरा अंतिम उपाय दृष्टिकोण संपादन के बाद तालिका को पार करना होगा। मेरे पास गतिशील अपडेट होंगे लेकिन एक भी सबमिट कुछ भी नहीं होगा।

कोई विचार?

// the json in files nests only a few levels. Here is the format of a simple case, 
{ 
"researcherid_id":{ 
    "id_key":"researcherid_id", 
    "description":"Use to retrieve bibliometric data", 
    "url_template" :[ 
    { 
     "name": "Author Detail", 
     "url": "http://www.researcherid.com/rid/${key}" 
    } 
    ]   
} 
} 

$.get('file.json',make_json_form); 

function make_json_form(response) { 

    dataset = $.secureEvalJSON(response); 
    // iterate through the object and generate form field for string values. 

} 

// Then after the form is edited I want to display the raw updated json (then I want to save it but that is for another thread) 

// now I iterate through the form and construct the json object 
// I would rather have the dataset object var updated on focus out after each edit. 

function show_json(form_id){ 
var r = {}; 
var el = document.getElementById(form_id); 
table_to_json(r,el,null); 
$('body').html(formattedJSON(r)); 
} 
+2

ताकि आप वस्तु के आधार पर एक फॉर्म उत्पन्न करना चाहते हैं और गुणों को ऑब्जेक्ट करने के लिए फ़ील्ड बाध्य करना चाहते हैं? ऑब्जेक्ट स्ट्रक्चर कैसा दिखता है? जेएसओएन सिर्फ एक स्ट्रिंग प्रस्तुति है, और आपको जावास्क्रिप्ट ऑब्जेक्ट्स से निपटना आसान होगा, और आवश्यकता होने पर अंत में जेएसओएन को क्रमबद्ध करना होगा। – Anurag

उत्तर

0

एक फॉर्म सबमिशन स्वीकार करने और जेएसओएन प्रारूप में डेटा आउटपुट करने के लिए एक बहुत ही आसान तरीका होगा। इस तरह, चर को बांधने की कोई आवश्यकता नहीं है।

0

एक और सरल टेम्पलेट इंजन उस रूप में सीधे JSON डेटा लोड करता है। http://plugins.jquery.com/project/loadJSON प्लगइन देखें। यह जैक के रूप में इसी तरह काम करता है लेकिन यह टेम्पलेट के लिए सादे HTML का उपयोग करता है।

आप http://code.google.com/p/jquery-load-json/wiki/WorkingWithFormElements पर इसका उपयोग कैसे करें और http://jquery-load-json.googlecode.com/svn/trunk/edit.html?ID=17 पर लाइव उदाहरण का उपयोग कर सकते हैं।

संबंधित मुद्दे