jquery - 获取输入字段的标签

标签 jquery label each

我正在使用 Jquery 进行验证,需要从每个具有自己标签的元素中获取 $label。现在alert()给出了med [object object]。对我来说最好的事情是得到一个alert(),其中所有未填写的字段都排列整齐。而不是每个的alert()。

这是一个 fiddle :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()中我期望这样“您需要填写:姓名,电子邮件”

最佳答案

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

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

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

}); 

演示:Fiddle

更新

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)

演示:Fiddle

关于jquery - 获取输入字段的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18375457/

相关文章:

javascript - 在 Javascript 中检测操作系统版本并重定向

html - 在已标记的输入元素上使用 "aria-labelledby"的目的是什么?

javascript - 从 jQuery .each() 中的 javascript 对象中删除它

jquery - 重构数据对象上的 jQuery 每个循环

html - 将表单字段放在标签标签内是好主意还是坏主意?

javascript - 变量没有被正确分配,可能的范围问题(在 getJSON() 中的 each() 中有一个开关的函数)

jquery - 通过 jQuery 反转表中父 tr 排序堆栈的最佳方法

javascript - Angular ui-select-match占位符自动设置宽度

javascript - 用css3实现Windows 8 Tile "Click"动画

python - 如何在 matplotlib 中旋转 xticklabels 以使每个 xticklabel 之间的间距相等?