Проблема javascript функция преобразования строкового значения в int удалить первые нули - PullRequest
0 голосов
/ 03 октября 2018

Hello Первое значение отображается в сетке, например, «001», «002» при загрузке данных в сетку.когда я нажимаю кнопку редактирования, значение ссылки преобразуется как «1», «2», поэтому я не хочу удалять 00.тип столбца модели - строка, а также строка базы данных.

Кнопка редактирования столбца сетки Ссылка

{
                    name: 'CatCode', label: '', search: false, width: '40', frozen: true, formatter: function (cellvalue, options, rowObject, rowdata) {
                        var rowID = rowObject['CatCode'];

                        if (rowID != null) {

                            return '<a href="javascript:ItemCatCodeGetby(' + rowID + ')" style="color: #3366ff" id=' + rowID + ' >Edit</a>';
                        }

                    }
                },

Javascript

function ItemCatCodeGetby(row) {

        $.ajax({
            url: "@Url.Action("ItemCategory_Select")",
            type: "GET",
            contentType: "application/json;charset=UTF-8",
            data: { 'CatCode': row},
            dataType: "json",
            success: function (result) {
                $('#txtUCatCode').val(result.CatCode);
                $('#txtUCategoryDesc').val(result.CatDesc);
                $('#txtUHsCode').val(result.HS_Code);
                $('#txtUPurCode').val(result.PurCode);
                $('#txtUSaleCode').val(result.SaleCode);

                $('#txtUCostOfSaleCode').val(result.CostOfSaleCode);
                $('#txtUSaleCode_Trade').val(result.SaleCode_Trade);
                $('#txtUCostOfSaleCode_Trade').val(result.CostOfSaleCode_Trade);

                $('#ItemCUpdateModel').modal('show');
                $('#btnItemUpdate').show();
            },
            error: function (errormessage) {
                alert(errormessage.responseText);
            }
        });
        return false;
    }

1 Ответ

0 голосов
/ 03 октября 2018

В данный момент вы передаете 001 в функцию как число, и предыдущие нули автоматически удаляются.

Чтобы предотвратить это, вам нужно добавить кавычки вокруг числа и сделать этовам нужно избегать их:

'<a href="javascript:ItemCatCodeGetby(\''+ rowid + '\')" style="color: #3366ff" id=' + rowID + ' >Edit</a>';

Альтернатива (и лучший долгосрочный вариант) - полностью удалить встроенный JS и использовать классы, атрибуты данных (и шаблонный литерал ),и прикрепите слушатели событий к кнопкам.

`<a class="edit" data-rowid="${rowid}" style="color: #3366ff">Edit</a>`;

const editButtons = document.querySelectorAll('.edit');
editButtons.forEach(button => button.addEventListener('click', ItemCatCodeGetBy, false));

function ItemCatCodeGetBy() {
  // rowid is this.dataset.rowid
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...