【问题标题】:How to get and print input type number with jQuery?如何使用 jQuery 获取和打印输入类型编号?
【发布时间】:2015-09-15 08:47:11
【问题描述】:

我想在确认页面上打印输入类型编号。

var displayConfirm = function() {
            $('#tab5 .form-control-static', form).each(function(){
                var input = $('[name="'+$(this).attr("data-display")+'"]', form);
                if (input.is(":radio")) {
                    input = $('[name="'+$(this).attr("data-display")+'"]:checked', form);
                }
                if (input.is(":text") || input.is("textarea")) {
                    $(this).html(input.val());
                } else if (input.is("select")) {
                    $(this).html(input.find('option:selected').text());
                } else if (input.is(":radio") && input.is(":checked")) {
                    $(this).html(input.attr("data-title"));
                } 
            });
        }

如果我使用 input.is(":number")$(this).html(input.val()); 它会崩溃。

【问题讨论】:

  • 1) html 中没有“数字”类型的输入。 2)显示您的html,这可以阐明您想要实现的目标。
  • <input type="number" name="quantity" min="1" max="5">
  • @low_rents: 惊喜....w3.org/TR/html-markup/input.number.html:P
  • @MilindAnantwar 好的,但它可能太新了,以至于他的 jQuery 版本可能不知道它:)

标签: jquery html input numbers


【解决方案1】:

它崩溃的原因是因为:number 不是有效的选择器。 您需要在.is() 条件中使用属性等于选择器:

input.is("[type=number]")

片段:

else if (input.is("[type=number]")) {
    $(this).html(input.val());
} 

【讨论】:

  • 顺便说一句,我需要将 :text 更改为 [type:text] 吗?
  • @ArasSerdaroğlu: nop.. jai 已经提到,它完全有效,因为 jquery 有选择器 :text 用于文本类型
  • 还有一个问题,我想在确认页面上显示输入文件(图像)的预览,怎么做?
  • 您可以在模态中显示它们以及确认按钮
  • 我在一个页面中列出了我所有的输入。
【解决方案2】:

为了完整起见,如果您想坚持使用:number,可以注册一个 jQuery 伪选择器:

$.expr[':'].number = function(el){
  var $el = $(el);
  return $el.prop('tagName').toLowerCase() == 'input' && $el.prop('type') == 'number';
}

.is(':number') 会为您工作得很好。

JSFiddle

【讨论】:

    【解决方案3】:
    $('#qwe').keyup(function () {
        alert($(this).val());
    
    });
    

    FIDDLE

    要获取输入元素的值,请使用 .val()

    【讨论】:

    • 好吧@pekka 我猜OP正在这样做。 input.val()
    • @jai 纠正我如果我错了 OP 想要打印一个数字所以获取 val()
    • 如果我使用 input.is(":number")$(this).html(input.val()); 它会崩溃。
    • 因为选择器错误:number 不是选择器对吗?所以我的答案仍然有效,因为它是正确的选择器并且它打印输入的值@Jai 你觉得呢?我应该只是删除答案?
    猜你喜欢
    • 2015-12-11
    • 2011-03-11
    • 2014-03-04
    • 2015-04-13
    • 2023-03-29
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 2015-05-16
    相关资源
    最近更新 更多