0

I would like some help, I have searched but nothing seems to work.

I have the following code which is used in a website search function. My problem is because all values of the stored values are lower case without intonated words, I want the input keyword (search_text), to lose its intonation (Greek Language). I have managed to make it lower case as follows:

document.getElementById("txt_search").value = document.getElementById("txt_search").value.toLowerCase();

However, I am stuck with removing the intonation!

Basically I need some code to not only lower-case the input, but also remove the intonation.

Here is the code:

function ajaxPagingCall(page, queryString, fileName){

/*
$.get(site_url + "/modules/search/"+queryString+"&page="+page, function(data) {
  $('#isShowLiveSearch').html(data);
});
*/
document.getElementById("txt_search").value = document.getElementById("txt_search").value.toLowerCase();
var search_txt = document.getElementById("txt_search").value;

var frmPrice=$('#price-Slider').val().split(';');
var frmFirstPrice   = frmPrice[0];

var frmSecondPrice  = frmPrice[1];
var frmDisc=$('#discount-Slider').val().split(';');
var frmFistDisc     = frmDisc[0];
var frmSecondDisc   = frmDisc[1];

var price_start=(frmFirstPrice)?frmFirstPrice:0;
var price_end=(frmSecondPrice)?frmSecondPrice:0;
var discount_start=(frmFistDisc)?frmFistDisc:0;
var discount_end=(frmSecondDisc)?frmSecondDisc:0;


var elemt=document.getElementsByName("chkcategory[]");

var webelemt=document.getElementsByName("website[]") ;
//alert(webelemt);

var arr=new Array();
var j=0;

for(var i=0; i<elemt.length;i++)
{
    if(elemt[i].checked==true){
        arr[j]=elemt[i].value;
        j++;
    }
}

var catids=arr.join(",");


var arr1=new Array();
    var b=0;
    for(var a=0; a<webelemt.length;a++){
        if(webelemt[a].checked==true){
            arr1[b]=webelemt[a].value;
            b++;
        }
    }

    var webids=arr1.join(",");

/********** Loading Script **********/
displayLoaderIn("replacediv");
/********** Enf of Loading Script **********/

$.ajax({
  url: site_url+"ajax_search_deals.php",      
  type: "POST",
  data: "webids="+webids+"&catids="+catids+"&search_txt="+search_txt+"&page="+page+"&startPrice="+price_start+"&endPrice="+price_end+"&startDisc="+discount_start+"&endDisc="+discount_end+"&show_filters="+show_filters+"&set_order_date="+set_order_date+"&set_order_price="+set_order_price+"&set_order_discount="+set_order_discount,
  success: function(responce_msg){
    $("#replacediv").html(responce_msg);
  }
 }) 
}
David Thomas
  • 249,100
  • 51
  • 377
  • 410
evoweb
  • 1
  • 'intonated'? I've never heard of such a verb. – Cilan Jan 04 '14 at 19:50
  • 2
    This isn't Java. Looks like javascript to me. – hichris123 Jan 04 '14 at 19:52
  • @Man: I think he may mean 'accented.'Evo: as hichris123 was hinting, a sample of code written in JavaScript is, despite the name, *not* a script written in Java; it's JavaScript. – David Thomas Jan 04 '14 at 19:53
  • Do you want to remove diacritics? http://stackoverflow.com/questions/3939266/javascript-function-to-remove-diacritics –  Jan 04 '14 at 19:54
  • @DavidThomas Do you have any idea what he means? Like does he want to change 'dorg' to 'dog'? Or does he want to change á to a? – Cilan Jan 04 '14 at 19:54
  • In greek language words are intonated. For example μήλο, or παράδειγμα. What i want to achieve is to make them μηλο - παραδειγμα – evoweb Jan 04 '14 at 20:09
  • @ManofSnow the second one á to a but in greek :) ά to α – evoweb Jan 04 '14 at 20:14

2 Answers2

0

Here's a function that will do it for you:

function removeAccents(strAccents) {
        var strAccents = strAccents.split('');
        var strAccentsOut = new Array();
        var strAccentsLen = strAccents.length;
        var accents = 'αβγδεζηθικλμ';
        var accentsOut = 'ΑΒΓΔΕΖΗΘΙΚΛΜ';
        for (var y = 0; y < strAccentsLen; y++) {
            if (accents.indexOf(strAccents[y]) != -1) {
                strAccentsOut[y] = accentsOut.substr(accents.indexOf(strAccents[y]), 1);
            } else
                strAccentsOut[y] = strAccents[y];
        }
        strAccentsOut = strAccentsOut.join('');
        return strAccentsOut;
    }

So you could execute var a = document.getElementById("txt_search").value; a.value = removeAccents(a.value);

It was pretty hard to find greek dialects, so I ended up using http://en.wikipedia.org/wiki/Greek_alphabet

Please note that it's Ancient Greek, I didn't know what you wanted. Whatever so, you should be able to edit it yourself.

Cilan
  • 13,101
  • 3
  • 34
  • 51
0

I tried your answer but it did not work. Finally i made it work with this. In case anyone needs it in future! Thank you all, for the help!

document.getElementById("txt_search").value = document.getElementById("txt_search").value.toLowerCase();
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("ά", "α");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("Ά", "α");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("έ", "ε");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("Έ", "ε");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("ή", "η");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("Ή", "η");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("ί", "ι");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("Ί", "ι");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("ό", "ο");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("Ό", "ο");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("ύ", "υ");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("Ύ", "υ");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("ώ", "ω");
document.getElementById("txt_search").value = document.getElementById("txt_search").value.replace("Ώ", "ω");
var search_txt = document.getElementById("txt_search").value;
evoweb
  • 1