Так не спрашивайте почему так сделано, нужно было вывести, чтоб обновлялось при удалении, добавлении и т.д, без перезагрузки и все менялось в реально времени, так сделали мне.
Вывожу код на страницу через js, в коде есть input name="price", в этот импут я хочу внедрить replace правила.
<input name="price" type="text88" value="${value.price}" class="cifr">
Вообщем пытался применить к input name="price", рабочий js, чтобы у импута прайс можно было вводить только цифры и чтоб лишние пробелы удалялись, ну нельзя было ввести. (скрипт рабочий, теперь мне его как-то в коде надо применить).
<script>
$(".cifr").on('input', function(e) {
this.value = this.value.replace(/[^0-9\.]/g, '');
});
</script>
Как ниже в js, адаптировать правила?
this.value = this.value.replace(/[^0-9\.]/g, ''); для input name="price"
buildPTOs: function(d) {
function render(value) {
let sCls = value.status == 0 ? "status-offptos" : "",
title = value.status == 0 ? "Отключить" : "Включить",
iCls = value.status == 0 ? "closeptos" : "openptos";
value.rubtext = (value.price) ? " руб" : ""; //если есть цена то выводим с ней (руб)
$(".cifr").on('input', function(e) {
this.value = this.value.replace(/[^0-9\.]/g, '');
});
return `<tr data-id="${value.id}" id="${value.id}" class="${sCls}">
<td style="text-align:center" align="center" valign="middle">
<span title="${title}" class="icon icon-eye-${iCls} status-checker" data-id="${value.id}"></span>
</td>
<td align="center" class="f13">
${value.id}
</td>
<td>
<b class="hidname">${value.name}</b><div class="redname" style="display:none"><div style="display:inline-block; float:left"><input name="name" type="text200" value="${value.name}"></div><div style="display:inline-block; float:left"><button style="margin-left:20px" type="button" class="btn btn-success act-save">Сохранить</button></div></div>
</td>
<td>
<b class="hidprice">${value.price} ${value.rubtext}</b><div class="redprice" style="display:none"><div style="display:inline-block; float:left"><input name="price" type="text88" value="${value.price}" class="cifr">руб </div><div style="display:inline-block; float:left"><button style="margin-left:20px" type="button" class="btn btn-success act-save">Сохранить</button></div></div>
</td>
<td align="center">
<a href="/admin/ptoforms/edit/${value.id}" class="btn btn-success act-edit" title="Редактировать"><i class="icon icon-edit icon-white"></i></a> <a href="#" class="btn btn-danger act-remove" title="Удалить"><i class="icon icon-remove icon-white"></i></a>
</td>
</tr>`;
}
let content = Object.values(d).map(v => render(v)).join('');
$('table#ptos-list tbody').html(content);
},