Javascript-渲染输入字段文本

时间:2018-11-15 11:42:05

标签: javascript jquery input

我编写了一个函数,该函数将div类中的所有选定字段(座位)呈现出来。当我单击它们时,需要按其名称显示它们。 现在,我希望将这些字段写入单击时选择的输入字段中。

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

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

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

    click: function () {
        if (this.status() === 'available') {
            $('<li>'+this.settings.label+'</b></li>')
                .appendTo($cart);


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

            return 'selected';
    });
});

这是我的表单输入字段

 <input type="text" id="selected-seats" class="form-control"  size="20">

该示例工作正常,但在将其与输入字段连接时遇到问题。

if (this.status() == 'available') {
            $('<li>'+this.settings.label+'</b></li>')
                .appendTo($cart);

不是。

if (this.status() == 'available') {
            document.getElementById('selected-seats')
                .appendTo($cart);

2 个答案:

答案 0 :(得分:1)

document.getElementById('selected-seats')

上面的行返回一个纯DOM元素,没有被任何jQuery对象包装。 DOM元素没有appendTo方法-jQuery对象却没有。因此,您需要做的是要么使用jQuery通过ID获取元素(下面的第一个示例),要么使用它包装本机getElementById方法的结果(下面的第二个示例)。

// First example
$('#selected-seats').appendTo($cart)

// Second example
var selectedSeatsElement = document.getElementById('selected-seats');
$(selectedSeatsElement).appendTo($cart)

答案 1 :(得分:0)

我刚刚修好了!

我需要为输入字段返回值。

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