-1

When i type in the price to the input, i want to change "," to ".", because i enter decimal numbers.

What am i doing wrong? Whit this function, i always get NaN. If i try alert or something for test, that works fine.

    function change_characters(where)
{
    return where.replace(",", ".");
    //return min_.replace(/,/g, ".");
}

function szorzas( sor_id )
{
    termek_netto_egyseg_ar = $('#termek_netto_egyseg_ar-'+sor_id).val();
    ajanlat_termek_mennyiseg = $('#ajanlat_termek_mennyiseg-'+sor_id).val();
    rosszeg = ajanlat_termek_mennyiseg * termek_netto_egyseg_ar;
    $("#termek_netto_reszosszeg-"+sor_id).val(rosszeg);
    
    termek_netto_egyseg_ar = change_characters(termek_netto_egyseg_ar);
    
    count_ossz_netto();
}

I add the html with javascript, and on the inputs, i call the szorzas() function.

    function addsav_melleklet()
{
    html  = '<tr id="sav_row_melleklet' + sav_row_melleklet + '">';
    html += '<td class="left"><div class="bc-wrapper"><input type="hidden"  id="termek_id-'+sav_row_melleklet+'" name="ajanlat_termek_id[' + sav_row_melleklet + ']" value="" />    <input required type="text" autocomplete="off" class="form-control" name="ajanlat_termek_nev[' + sav_row_melleklet + ']" id="ajanlat_termek_nev-' + sav_row_melleklet + '" onKeyUp="autocomplet_search(' + sav_row_melleklet + ');" /><div class="bc-menu list-group country_list_id" id="country_list_id' + sav_row_melleklet + '"></div></div></td>';
    html += '<td class="left"><input required type="text" class="form-control csere"  id="ajanlat_termek_mennyiseg-'+sav_row_melleklet+'" onKeyUp="szorzas(' + sav_row_melleklet + ')" onchange="szorzas(' + sav_row_melleklet + ')" name="ajanlat_termek_mennyiseg[' + sav_row_melleklet + ']" /></td>';
    html += '<td class="left"><input required type="text" class="form-control csere termek_netto_egyseg_ar" id="termek_netto_egyseg_ar-'+sav_row_melleklet+'" onKeyUp="szorzas(' + sav_row_melleklet + ')" onchange="szorzas(' + sav_row_melleklet + ')" name="ajanlat_termek_netto_egyseg_ar[' + sav_row_melleklet + ']" /></td>';
    html += '<td class="left"><input required type="text" class="form-control termek_netto_reszosszeg" id="termek_netto_reszosszeg-'+sav_row_melleklet+'" name="ajanlat_termek_netto_ertek[' + sav_row_melleklet + ']" /></td>';
    html += '<td class="right"><a class="btn btn-sm btn-danger" onclick="remove_sor('+sav_row_melleklet+');"><span class="glyphicon glyphicon-trash"></span></a></td>';
    html += '</tr>';

    $('#sav_melleklet_tbody').append(html);
    sav_row_melleklet++;
}
JackPHP037
  • 19
  • 2

1 Answers1

0

your replace function, replaces only the first occurences, if you want to replace all occurence you have to use regexp:

    function change_characters(where)
{
    return where.replace(/,/g, ".");
    //return where.replace(",", ".");  <-- replace only first occurence
}
Frenchy
  • 16,386
  • 3
  • 16
  • 39
  • I tryed that also, but it does nothing. I get NaN value in the another input, because it wont replace any character. – JackPHP037 Feb 19 '21 at 07:10
  • it seems you have another problem, in anyways, this solution is ok if you fix first problem – Frenchy Feb 19 '21 at 07:49