la saisie semi-automatique dans codeigniter
J'ai essayé de faire la saisie semi-automatique dans codeignter à l'aide du code que j'ai obtenu à partir d'un site.Mais il ne fonctionne pas pour moi.Peut-on trouver le problème
Le point de vue de la fonction que j'ai utilisé est donnée ci-dessous
<html>
<head>
<title>Autocomplete</title>
<script src="<?php echo base_url().'js/jquery.autocomplete.js'?>"></script>
<script src="<?php echo base_url().'js/jquery-1.6.4.js'?>"></script>
<script type="text/javascript">
$(function() {
$( "#username" ).autocomplete({ //the recipient text field with id #username
source: function( request, response ) {
$.ajax({
url: "http://localhost/autocomplete/index.php/autocontroller/search_username",
dataType: "json",
data: request,
success: function(data){
if(data.response == 'true') {
response(data.message);
}
}
});
}
});
});
</script>
</head>
<body>
<h1>Autocomplete</h1>
<input type="text" id="username" value="" />
</body>
</html>
Et le contrôleur, j'ai utilisé est donnée ci-dessous
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of autocontroller
*
* @author Sivam
*/
class autocontroller extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->database();
}
function index()
{
$this->load->view('autoview');
}
function search_username()
{
$username = trim($this->input->get('term', TRUE)); //get term parameter sent via text field. Not sure how secure get() is
$this->db->select('fname');
$this->db->from('users');
$this->db->like('fname', $username);
$this->db->limit('5');
$query = $this->db->get();
if ($query->num_rows() > 0)
{
$data['response'] = 'true'; //If username exists set true
$data['message'] = array();
foreach ($query->result() as $row)
{
$data['message'][] = array(
'label' => $row->fname,
'value' => $row->fname
);
}
}
else
{
$data['response'] = 'false'; //Set false if user not valid
}
echo json_encode($data);
}
}
?>
Cette ligne semble suspect " de la réponse(de données.message); " en ce que l'erreur obtenez-vous dans la console si tout
OriginalL'auteur Balu | 2012-05-30
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas en mesure de comprendre pourquoi vous utilisez
Vous pouvez essayer par un seul tableau multidimensionnel.
J'ai aussi utiliser la saisie semi-automatique par follwing .http://www.jamipietila.fi/codeigniter-and-autocomplete-with-jquery/ S'il vous plaît essayer cette...Sa fonctionne pour moi ..j'espère qu'il va travailler pour vous aussi.
ya @allen213, je pense que vous avez raison.....:)
OriginalL'auteur Pramod Kumar Sharma
C'est une façon simple d'utiliser la saisie semi-automatique dans codeigniter. Il a travaillé pour moi.
En Vue:
}
Ici, la première ligne est, bien sûr, à l'appel de la bibliothèque jquery.
Ensuite, nous avons 2 fonctions. lookup() accepte l'entrée de l'utilisateur et appelle ensuite l'URL correspondante qui fera le nécessaire de base de données téléphonique.
La prochaine fonction fill() décharger le div qui contiendra le résultat.
Enfin dans la vue, j'ai ajouté de la zone de saisie de texte et aussi branché la fonction de recherche une fois que l'utilisateur donne une entrée dans la case. Au-dessous de la zone de saisie, nous avons un div, qui va montrer le résultat, si il y en a. Cette div sera visible uniquement lorsque l'entrée de l'utilisateur, vous obtenez un résultat.
Dans le Contrôleur, nous avons:
Ici dans la fonction ci-dessus, il accepte le nom de la société (ou une partie) et puis je suis à l'appel d'une fonction get_companies() avec la chaîne. Ce qui permet de rendre la base de données d'appel et de retourner le résultat sous forme de tableau.
Dans Le Modèle:
Cette fonction ci-dessus est prise de la base de données d'appel et de retourner le tableau 2D, un élément de l'id et un autre du nom.
OriginalL'auteur Dibyendu Mitra Roy