Javascript - автоматическое добавление запятой в поле ввода - PullRequest
0 голосов
/ 15 ноября 2018

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

Итак, мне нужно отделить ее запятой (,).Я попробовал некоторые из примеров, но, похоже, не работает над написанной мной функцией.

 var rowRange = 'abcdefghijklmnopqrstuvwxyz'.split('');

var $cart = $('#seats'),
    $counter = $('#counter'),
    sc = $('#seat-map').seatCharts({
    map: [
        'aaaaa__aaaaa',
        'aaaaa__aaaaa'
    ],

    naming : {
        top : false,
        getLabel : function (character, row, column) {
            return rowRange[row - 1].toUpperCase() + column;
        },
    },

    click: function () {
        if (this.status() === 'available') {

            $('#seats').split(",")
                 .attr('id', 'cart-item-'+this.settings.id)
                 .val(this.settings.label)
                 .appendTo($cart);

            $counter.text(sc.find('selected').length+1);

            return 'selected';
    });
});

Seat - это поле ввода, в которое необходимо добавлять запятую после каждого нажатия на любое число.

.split (",")

, когда я удаляю эту часть, код работает так, как должен, но без добавления запятой.

1 Ответ

0 голосов
/ 15 ноября 2018

.split() не работает с объектами jquery. Вместо этого используйте его для значений, выбранных вами.

Вот пример того, как это может работать.

$selected = $('#selected');
$(".seat").on("click", function() {
  const cur = $selected.val();
  const valToInsert = $(this).text();
  $selected.val(cur.length === 0 ? valToInsert : cur.split(',').concat(valToInsert).join(','));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="selected">

<button class="seat">a</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...