2011-11-28 13 views
10

jQuery UI site से (veiw स्रोत):jQuery यूआई स्वत: पूर्ण: पोस्ट डेटा कैसे भेजें?

$("#birds").autocomplete({ 
    source: "search.php", 
    minLength: 2, 
    select: function(event, ui) { 
     log(ui.item ? 
      "Selected: " + ui.item.value + " aka " + ui.item.id : 
      "Nothing selected, input was " + this.value); 
    } 
}); 

तो जैसा कि मैं देख रहा हूँ वहाँ कैसे पद डेटा"search.php" के साथ ajax अनुरोध करने के लिए कोई विकल्प नहीं है। (: शहर, पिछले क्षेत्र: देश वर्तमान क्षेत्र)

लेकिन मैं ऐसा करने के लिए है कि पिछले इनपुट फ़ील्ड से कुछ फिल्टर भेजने की जरूरत है।

यह कैसे करें?

धन्यवाद!

उत्तर

18

स्रोत बदलते एक तरीका है जिसके $ .post का उपयोग करता होने की कोशिश:

$("#birds").autocomplete({ 
    source: function (request, response) { 
    $.post("search.php", request, response); 
    }, 
    ... 
+0

ठीक है, मैं इसे आजमाउंगा। धन्यवाद –

+0

यह काम करता है ??? मैं कोशिश करता हूं लेकिन मेरे लिए काम नहीं करता है। धन्यवाद! –

+0

मेरे लिए एक आकर्षण की तरह काम किया! धन्यवाद! – Jagger

3
$("#birds").autocomplete({ 
source: function (request, response) { 
    $.ajax({ 
    type: "POST", 
    url:"search.php", 
    data: request, 
    success: response, 
    dataType: 'json' 
}); 
    } 
}, {minLength: 3 }); 

//------------------------- 
//search.php - example with request from DB 

// 


$link = mysql_connect($mysql_server, $mysql_login, $mysql_password) 
     or die("Could not connect: " . mysql_error()); 
    mysql_select_db($mysql_database) or die("Could not select database"); 
    mysql_set_charset('utf8'); 

$req = "SELECT mydata FROM $mysql_table WHERE mydata LIKE '".$_REQUEST['term']."%' ORDER BY mydata ASC"; 
$query = mysql_query($req); 

while($row = mysql_fetch_array($query)) 
{ 
    $results[] = array('label' => $row['mydata']); 
} 


echo json_encode($results); 
?> 
2

मैं इस एक ही जरूरत थी और stackoverflow से कोई एक उदाहरण ठीक से काम कर रहा था।

अलग लेखकों योगदान परीक्षण और यहाँ में सुधार करने और वहाँ नीचे दिए गए उदाहरण सबसे अधिक संभावना है कि क्या किसी को भी एक स्वत: पूर्ण है कि

  1. पोस्ट अनुरोध बाहर भेजें में तलाश कर रहा होगा द्वारा।

  2. मुख्य स्वत: पूर्ण UI को ट्वीव करने की आवश्यकता नहीं है।

  3. मूल्यांकन के लिए कई पैरामीटर भेजता है।

  4. डेटाबेस PHP फ़ाइल से डेटा पुनर्प्राप्त करता है।

सभी क्रेडिट कई व्यक्तियों जिसे मैं उनके उदाहरण का इस्तेमाल किया जवाब देता है यह काम कर नमूना बनाने के लिए है।

 $("#employee_name").autocomplete({ 
     source: function (request, response) { 
     $.ajax({ 
     type: "POST", 
     url:"employees.php", 
     data: {term:request.term,my_variable2:"variable2_data"}, 
     success: response, 
     dataType: 'json', 
     minLength: 2, 
     delay: 100 
      }); 
     }}); 
+0

सुंदर, धन्यवाद! – mcraen

0

निम्नलिखित मेरे लिए अच्छा काम किया। मुझे कुछ कस्टम डेटा की आवश्यकता है, इसलिए मैंने अनुरोध के बाहर "टर्म" term: request.term खोज को खींच लिया:

jQuery('.some-autocomplete').autocomplete({ 
    source: function(request, response) { 
     jQuery.post(ajaxurl, {action: 'some_content_search', type: type, term: request.term}, response, 'json'); 
    }, 
    minLength: 2, 
    ... 
संबंधित मुद्दे