如何在运行中捕获任何输入字段的插入值(没有#id)?

时间:2014-09-30 18:43:25

标签: jquery

我有一个包含100多个输入字段的表单。他们的标签显示库存量。现在我想编写一个逻辑,它捕获字段中的每个插入值(不提交表单),将其与其标签进行比较,如果它的>标签它应该将颜色设置为红色。

如何创建一个捕捉a)输入字段的函数b)即时添加值?

我试过了:

<script>
  jQuery(document).ready(function(){
    var inp = jQuery("*:focus").val();
    alert(inp);
    var label = jQuery('label[for="'+jQuery(this)+'"]');
    alert(label);
  });
</script>

但这给了我一个不确定的。任何帮助深表感谢。 非常感谢你。

1 个答案:

答案 0 :(得分:1)

不要定位聚焦元素,而是使用事件处理程序代替输入,然后检查该值是否大于标签(使用><时字符串是否正常)和设置它的颜色

jQuery(function($) {
    $('input').on('input', function() {
        var lbl  = $('label[for="' + this.id + '"]'),
            more = this.value > lbl.text();

        lbl.css('color', (more ? 'red' : 'black'));
    });
});

FIDDLE