获取输入字段的标签 [英] Get label for input field

查看:89
本文介绍了获取输入字段的标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Jquery进行验证,并且需要从每个具有自己标签的元素中获取$ label.现在,alert()给出med [object object].对我来说,最好的办法是获取一个alert(),其中所有未填写的字段都排成一行.而不是每个警报().

I'm doing a validation with Jquery and need to get the $label from each element with their own label. Now the alert() gives med [object object]. The best thing for me here is to get an alert() with all fields lined up that is not filled out. And not an alert() for each.

这是一个小提琴: http://jsfiddle.net/s7pYX/

这是如何完成的?

HTML:

<div>
<label for="txtName">Name</label>
<input type="text" id="txtName" class="form-control" name="txtName">
</div>

<div>
<label for="txtEmail">E-mail</label>
<input type="text" id="txtEmail" class="form-control" name="txtEmail">
</div>

jQuery:

 $('input').each(function(){
 if ($(this).val() == '') {

 $element = $(this)

 var $label = $("label[for='"+$element.attr('id')+"']")

 alert($label)    

 }

 });  

在alert()中,我希望这样您需要填写:姓名,电子邮件"

In the alert() I expect like this "You need to fill out: Name, E-mail"

推荐答案

尝试提醒$label的内容,可以使用.text()为此

Try to alert the contents of $label, you can use .text() for this

$('input').each(function(){
    var $element = $(this)

    if ($element.val() == '') {
        var $label = $("label[for='"+this.id+"']")
        alert($label.text())    
    }

}); 

演示:小提琴

更新

var $labels = $("label[for]");
var empties = $('input').filter(function(){
    return $.trim($(this).val()) == ''
}).map(function(){
    return $labels.filter('[for="'+this.id+'"]').text()
}).get().join(', ')

alert(empties)

演示:小提琴

这篇关于获取输入字段的标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆