【问题标题】:Javascript - rendering input field textJavascript - 呈现输入字段文本
【发布时间】:2018-11-15 11:42:04
【问题描述】:

我编写了一个函数,可以在一个 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);

【问题讨论】:

  • $('#selected-seats').appendTo($cart) 呢?
  • 也试过了。还是什么都没有。

标签: javascript jquery input


【解决方案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)

【讨论】:

  • 感谢您的快速回复。我尝试了两种方法,但它不起作用。我开始认为它可能与我的输入字段有关?
  • 可能是这样。当你自己调用getElementById 方法时它找到元素了吗?
  • 没有触发! ://
  • 你能说得更具体点吗?
  • 一切顺利,没有任何错误。这部分确实有效 $('
  • '+this.settings.label+'
  • '),但是当它出现在带有输入字段的示例时,它什么也不做..
【解决方案2】:

我刚刚修好了!

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

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

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签