2011-08-17 17 views
15

पर jquery ui-sortable position save को सहेजने के लिए मैं इस पृष्ठ की कार्यक्षमता को दोहराने की कोशिश कर रहा हूं (http://www.kissfm.ro/fresh-top-40/) जिसके पास एक छोटा वेब रेडियो है। साइट WordPress fyi में सेटअप है।डीबी

तो मेरे सवाल का, stackoverflow खोज करने के बाद, मैं कैसे सहेज सकता हूँ/उपयोगकर्ताओं इनपुट के आधार पर संशोधित चार्ट हो रहा है? मैंने पाया कि एकल सबमिट को कैसे सहेजना है, लेकिन उपयोगकर्ता विकल्प के आधार पर अंतिम चार्ट कैसे प्राप्त करूं?

अग्रिम धन्यवाद! (कोड या लिंक स्वागत ट्यूटोरियल!)

उत्तर

31

अपने HTML sortable बनाने के लिए, जावास्क्रिप्ट जोड़ सकते हैं और अद्यतन में PHP पर सहेजें।

<ul id="sortable"> 
    <li id="1">elem 1</li> 
    <li id="2">elem 2</li> 
    <li id="3">elem 3</li> 
    <li id="4">elem 4</li> 
</ul> 

$(document).ready(function(){ 
    $('#sortable').sortable({ 
     update: function(event, ui) { 
      var newOrder = $(this).sortable('toArray').toString(); 
      $.get('saveSortable.php', {order:newOrder}); 
     } 
    }); 
}); 
+0

धन्यवाद! हालांकि यह हमें एक और दिन कैसे प्रत्येक प्रविष्टि को बचाने के लिए और मंझला मूल्यों को प्राप्त करने के लिए यह पता लगाने की ले लिया है कि, चाल किया था। – user899163

+4

आप एक मिलती है चूंकि आप सर्वर पर डेटा को संशोधित कर रहे करने के बजाय एक पोस्ट का उपयोग कर किया जाना चाहिए? साथ ही, अगर सर्वर सेव सफल नहीं होता है तो क्या होता है; हो सकता है कि पहले से सेट विधि का उपयोग करना चाहिए और सर्वर सेव विफल होने पर सॉर्ट को रद्द करना जारी रखें? – Ryan

4

मुझे पता है कि यह पुराना है, लेकिन मैं जो करता हूं वह हर LI में एक छिपा इनपुट तत्व जोड़ता है। वे सभी के साथ एक ही नाम होगा [] अंत में। इस तरह, जब आप प्रपत्र यूएल युक्त पोस्ट, आप आप सिर्फ अपनी सूची में डाल दिया में अपनी पोस्ट मूल्यों में एक सरणी मिल जाएगा।

0

सॉर्ट करने योग्य दस्तावेज़ों के अनुसार हमें कुछ स्ट्रिंग के साथ LI की आईडी को उपसर्ग करना होगा। तो अगर हम अद्यतन विधि में sortable को क्रमानुसार हम जैसे php में एक अच्छा सरणी मिल जाएगा NEW_ORDER [] = 1 & NEW_ORDER [] = 2 आदि

var data = $(this).sortable('serialize'); 

<ul id="sortable"> 
    <li id="new_order_1">elem 1</li> 
    <li id="new_order_2">elem 2</li> 
    <li id="new_order_3">elem 3</li> 
    <li id="new_order_4">elem 4</li> 
</ul> 
0
You may POST with input to DB and save it 
Here we go: 
<ul id="sortable"> 
    <li id="1"><input type ="text" value="elem 1"/></li> 
    <li id="2"><input type="text" value="elem 2"/></li> 
    . 
    . 
</ul> 
<style> 
#sortable{ 
    border: hidden; 
} 
</style> 
$(document).ready(function(){ 
    $('#sortable').sortable({ 
     update: function(event, ui) { 
      var newOrder = $(this).sortable('toArray').toString(); 
      $.get('saveSortable.php', {order:newOrder}); 
     } 
    }); 
}); 

यह मदद करता है उम्मीद है कि;)