Jquery ve php CodeIgniter MVC ile Otomatik Tamamlama

1 Cevap php

I this sitesinden jquery eklentisi otomatik tamamlama kullanarak bir otomatik tamamlama oluşturmaya çalışıyorum.

Şimdi belge hazır fonksiyonu, localy bunu yaparken onun oldukça kolay bir parçası olarak web sitesine yerel sonuçlar önceden yüklenmiş kullanarak otomatik tamamlama elde başardı.

İşte php dosyasından çekerek sonuçları ile mücadele ne olduğunu. İşte ben denedim nasıl:

$("#post_tags").autocomplete("http://localhost/tags/filter", {
    width: 260,
    selectFirst: false,
    highlight: false,
    multiple: true,
    multipleSeparator: " ",
    scroll: true,
    formatItem: function (row, position, totalReturned, searchTerm){
      return row[0];
    },
    formatResult: function(row, position, totalReturned){
      return row[0].replace(/(<.+?>)/gi, '');
    }
 }).result(function(event, data, formatted){
    $("<li>").html( !data ? "No match!" : "Selected: " + formatted)
     .appendTo("#result");
 });

Ben elle gittiğinizde onlar p harfini içerdiği için http://localhost/tags/filter/p I sonuçları php, asp olsun.

Nasıl yani, otomatik tamamlama ile bu işi yapabilir onun oldukça kolay Ben sadece search?q=p bu gibi arama dosyaya şey geçiyorum yani, yerli php görmüyeli this file kullanarak ve geri almak Sonuçlar. Ben CodeIgniter kullanarak beri işler biraz farklı ve yukarıda jquery kodu kullanarak herhangi bir sonuç almak değil.

Ben henüz bir lütuf vermiyoruz ve ben gerçekten Pazartesi için ihtiyacınız dün geceden beri bu saplanıp kaldım. Teşekkür ederim

1 Cevap

Lütfen jquery.autocomplete.js dosyasında, çevresinde hat 360 de (son sürümü gibi), bu bölüm gibi görünmesi için bir satır ekleyin:

$.ajax({ 
    type: "post", // This is the new line
    // try to leverage ajaxQueue plugin to abort previous requests
    mode: "abort",
    // limit abortion to this input
    port: "autocomplete" + input.name,

(Eğer otomatik tamamlama eklenti bir minified sürümünü kullanıyorsanız, sadece. Ajax için bir arama yapmak ve uygun bir satır ekleyin).

Bu değişiklik otomatik tamamlama komut artık GET ziyade, POST form verilerini göndermek neden olur. Aşağıdaki gibi CodeIgniter içinde bu Erişme yapılabilir:

public function filter()
{
    $filter_by = $this->input->post('q');
}

Gerektiği gibi ve bu sizi listenizi oluşturabilirsiniz. (Kaynak kodunu düzenlemek için gerektirmez birini) bunu yapmak için güzel bir yol olup olmadığını ben emin değilim, ama bu benim için çalışıyor.