jQuery检查复选框的最近输入是否为空

时间:2014-02-12 11:50:09

标签: jquery

您好我有一个系统可以控制哪些号码显示在网站的客户端。

后端控制了这个,我有一些规则,只允许检查3个数字以及删除和清除这些数字。

我想更进一步,即如果输入数字的输入字段为空,则不允许勾选复选框。

我尝试过以下但无效或查看我的jsFiddle

此代码可以在javascript部分的第22行找到。

$("input[class='contact_no']").change(function () {    
            if( $(this).siblings('input:text').vallength == 0 ) {
               alert('Field is empty!');
            }
    });

希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:0)

这可能就是你要找的东西

if ($(this).closest('tr').find('input:text:not([name^="telname"])').val().length == 0) {
    alert('Field is empty!');
}

我认为这是你要检查的电话号码字段,而不是那个带有“电话”的字段,所以我改了它。

演示here

这是选择属于当前复选框的输入字段的一种非常混乱的方式。由于它们的名称越来越多(tel1,tel2,tel3,...),我们必须向上移动到我们的父级,并找到一个输入字段,该字段不包含以telname开头的任何内容,依此类推......

如果您只是为电话号码输入了一个普通班级的输入字段,例如class="phone",则会更容易找到类似的内容:

if ($(this).closest('tr').find('.phone').val().length == 0) {
    alert('Field is empty!');
}

来自评论的请求

以下是获取相应元素名称的方法:

$("input[class='contact_no']").change(function () {
    var t = $(this).closest('tr').find("input.contactnumbersinput");
    var parameters = t.attr('name');

    if (t.val().length == 0) {
       alert('This number ' + parameters + ' is empty please insert a phone number!');
    }
});