AJAX

2013-02-12 7 views
5

का उपयोग कर PHP रीफ्रेश तालिका सामग्री मेरे पास एक ऐसा फॉर्म है जिसमें एक तालिका है जो ड्रॉपडाउन में चयनित विकल्प के अनुसार डेटा गतिशील रूप से पॉप्युलेट की जाती है।AJAX

ड्रॉपडाउन में 2 मान "सक्षम" और "अक्षम" हैं। तालिका में प्रत्येक पंक्ति के पहले कॉलम में एक चेकबॉक्स होता है। निम्नानुसार तालिका संरचना है।

[checkbox ]| user | status 

[checkbox1]| jim | enabled 

[checkbox2]| sam | disabled 

चेकबॉक्स मान उपयोगकर्ता आईडी के बराबर है।

चयनित उपयोगकर्ताओं की स्थिति बदलने के लिए एक बटन है।

बटन पर क्लिक करें चयनित चेकबॉक्स मान AJAX का उपयोग करके पोस्ट किया गया है और चयनित उपयोगकर्ताओं की स्थिति बदल दी गई है लेकिन डेटा केवल पृष्ठ रीलोड पर रीफ्रेश किया गया है।

स्थिति बदलते समय मैं तालिका को रीफ्रेश कैसे कर सकता हूं। मेरी स्क्रिप्ट यहाँ है।

function Status(){ 
    var checked = [] 
    $("input[name='select[]']:checked").each(function() 
    { 
     checked.push(parseInt($(this).val())); 
    }); 
    if(checked!=''){ 

        $.ajax({ 
         type:'post', 
         url:site_url()+'/common/changeStatus', 
         data:{'checked':checked}, 
         dataType:'json', 
         async:false, 
         success:function(result){ 

          if(result!= "false"){ 
           $.msgBox({ 
            title:"Success", 
            content:"Status change successful" 
           }); 
           $(function() { 
            $('.msgButton').click(function (event) { 
             event.preventDefault(); 
             $("#table").load($(this).attr("#table")); 

            }); 
           });         
          } 

यहाँ #table डेटा Containig तालिका के आईडी है।

+0

$ ('# प्रतिक्रिया_div_id') का उपयोग करने का प्रयास करें। एचटीएमएल (AJAX प्रतिक्रिया); – ripa

+1

@ripa: इस का उपयोग करते हुए खुराक div को प्रतिक्रिया जोड़ता है? यहां मेरी प्रतिक्रिया या तो आपके परिवर्तन में सत्य या गलत – Avinash

+0

है स्थिति बदल गई स्थिति को प्रतिबिंबित करें और इसे स्थिति div में रखें। सफलता: समारोह (परिणाम) {$ ('# response_div_id') एचटीएमएल (परिणाम);। }); – ripa

उत्तर

2

आपको PHP फ़ाइल में वर्तमान स्थिति के साथ तालिका का निर्माण करना होगा। फिर आप इसे प्रतिक्रिया के रूप में भेज सकते हैं। JQuery AJAX जवाब में आप इस तरह जोड़ने के लिए,

$(".table").html(resultTable); 

resultTable प्रतिक्रिया आप PHP फ़ाइल से गुजर रहे हैं है। यदि आप केवल ऐसा ही करते हैं, तो आप तालिका को अपडेट की गई स्थिति के साथ प्राप्त कर सकते हैं।

+0

इस का उपयोग करते हुए खुराक div को प्रतिक्रिया जोड़ते हैं? यहां मेरी प्रतिक्रिया या तो सत्य या झूठी – Avinash

+1

क्या मैं डेटा पोस्ट किए बिना रीफ्रेश पृष्ठ की तरह कुछ कर सकता हूं यदि सत्य कुछ और नहीं करता है। मैं पहले location.reload() का उपयोग कर रहा था लेकिन फॉर्म फिर से वापस आ गया और फ़ायरफ़ॉक्स में यह कहता है कि पृष्ठ की जानकारी चेतावनी को परेशान करना जो परेशान है। – Avinash

+0

आप पुनः लोड किए बिना रीफ्रेश कैसे कर सकते हैं? "चेंजस्टैटस" नियंत्रक से परिणाम को बेहतर तरीके से पास करें और तालिका को स्वयं बनाएं या अपने नियंत्रक में बनाएं और प्रतिक्रिया दें। फिर मौजूदा तालिका को निर्मित एक के साथ बदलें। –