JSFiddle - React, Tailwind, and code Playground
HTML
<span class="minus" onclick="minus('q_17601','кг')">-</span>
<input onchange="edit_q('q_17601','кг')" id="q_17601" size="6" class="quantity" name="quantity" value="1.0 кг" type="text">
<span class="plus" onclick="plus('q_17601','кг')">+</span>
<script type="text/javascript">
function edit_q(ID,base)
{
var name_input = document.getElementById(ID);
if (base=="кг" || base=="КГ"){
var g_numb=parseFloat(name_input.value);
g_numb=g_numb.toFixed(1);
if (g_numb==NaN) {g_numb=0;}
name_input.value=g_numb+" "+base;
}
else{
var g_numb=parseInt(name_input.value);
if (g_numb==NaN) {g_numb=0;}
name_input.value=g_numb+" "+base;
}
}
function plus(ID,base)
{
var name_input = document.getElementById(ID);
if (base=="кг" || base=="КГ"){
var g_numb=parseFloat(name_input.value)+0.1;
g_numb=g_numb.toFixed(1);
name_input.value=g_numb+" "+base;
}
else{
name_input.value=parseInt(name_input.value)+1+" "+base;
}
}
function minus(ID,base)
{
var name_input = document.getElementById(ID);
if (base=="кг" || base=="КГ"){
if (parseFloat(name_input.value)>0.1)
{
var g_numb=parseFloat(name_input.value)-0.1;
g_numb=g_numb.toFixed(1);
name_input.value=g_numb+" "+base;
}
}
else{
if (parseInt(name_input.value)>1)
{
name_input.value=parseInt(name_input.value)-1+" "+base;
}
}
}
</script>