Ich benutze jQuery autocompleter
für die Suche.wie Groß-und Kleinschreibung zu machen Suche
Von meinem unteren Code meine Suche geschieht nur bei Groß- und Kleinschreibung, ich möchte case insensitive Suche machen. z. $array={the king, The king, The man}
Und meine Suche Schlüsselwort ist „Die“ dann zur Zeit nur die Ausgabe wie {The king, The man}
ich nicht the king
bin immer, weil es in der unteren Fall erhalte ich.
was ich will ist, wenn ich "das" schreibe, dann sollte ich alle drei Ergebnisse bekommen.
Bitte helfen Sie mir mein Problem
view.php
<script type="text/javascript">
$(document).ready(function() {
$(function() {
$("#autocomplete").autocomplete({
source: function(request, response) {
$.ajax({ url: "<?php echo base_url().'search/suggestions'?>",
data: { term: $("#autocomplete").val()},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 3,
select: function (a, b) {
$(this).val(b.item.value);
$(".searchform1").submit()
}
});
});
$('#autocomplete').focus();
});
function monkeyPatchAutocomplete() {
// Don't really need to save the old fn,
// but I could chain if I wanted to
var oldFn = $.ui.autocomplete.prototype._renderItem;
$.ui.autocomplete.prototype._renderItem = function(ul, item) {
var re = new RegExp("^" + this.term, "i") ;
var t = item.label.replace(re,"<span style='font-weight:bold;color:Black;'>" + this.term + "</span>");
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + t + "</a>")
.appendTo(ul);
};
}
$(document).ready(function() {
monkeyPatchAutocomplete();
$("#input1").autocomplete({
// The source option can be an array of terms. In this case, if
// the typed characters appear in any position in a term, then the
// term is included in the autocomplete list.
// The source option can also be a function that performs the search,
// and calls a response function with the matched entries.
source: function(req, responseFn) {
addMessage("search on: '" + req.term + "'<br/>");
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp("^" + re, "i");
var a = $.grep(wordlist, function(item,index){
//addMessage(" sniffing: '" + item + "'<br/>");
return matcher.test(item);
});
addMessage("Result: " + a.length + " items<br/>");
responseFn(a);
},
select: function(value, data){
if (typeof data == "undefined") {
addMessage('You selected: ' + value + "<br/>");
}else {
addMessage('You selected: ' + data.item.value + "<br/>");
}
}
});
});
</script>
---------------
---------------
<form class="searchform1" action="<?php echo base_url().'search/searchresult/pgn/grid/'?>" method="POST">
<img src="<?php echo base_url()?>css/images/icons/searchicon.png" style="vertical-align:middle;"/>
<input id="autocomplete" value="<?php if(isset($srchvalue)){echo $srchvalue ;} ?>" class="deletable" type="text" name="keywords" style="height: 30px;width: 450px;font-size: 16px;border: 0;border-bottom:solid 4px #dfdfdf;border-top:solid 4px #dfdfdf;" maxlength="70" placeholder=" Search for Title, Author Name, Isbn , Publisher"/>
<input type="submit" value=" Search " class="searchbtn"/>
</form>
Bitte beachten Sie: 'Erfolg()' ist veraltet. Verwenden Sie stattdessen 'done()'. – itachi