jQuery检查输入id是否有值

时间:2013-05-11 02:58:50

标签: jquery performance

我对jquery很新,所以这可能很简单。但是,我有一个简单的代码片段,可以查找电话号码的ID,如果有值,则可以执行某些操作。但我似乎无法让它发挥作用,必须有一种比我使用的更有效的方法。新手所以非常感谢任何帮助。

if ($(this).attr("id") == "phoneNumber") {
    if ($(this).val().length == 0) {
        alert(placeholderText + " check phone number");
        valid = false;
        return false;
    }
}

3 个答案:

答案 0 :(得分:3)

这将从DOM中选择phoneNumber元素并检查值:

if($("#phoneNumber").val().length == 0){
   alert(placeholderText + " check phone number");
   valid = false;
   return false;
}

你所拥有的(可能在事件处理程序中调用)将检查处理事件的元素是否具有id="phoneNumber",如果是,则检查该值。

答案 1 :(得分:1)

首先,您可以像这样访问元素:

$('#phoneNumber')

要检查元素是否存在,您可以执行以下操作:

if($('#phoneNumber').length)
{

}

要让侦听器检查事件上的字段,例如模糊,可以执行以下操作:

$('#phoneNumber').on('blur', function(){
    if($(this).val() == "")
    {
        alert("Please enter a phone number");
    }
});

如果您确切地更新了您想要做的事情,我们可能会帮忙写出来。

答案 2 :(得分:0)

如果元素id属性为phoneNumber,则需要选择该元素。

$('#phoneNumber').val()

如果元素不是<input>,而是<div>之类的块级元素,则应使用.text()

$('#phoneNumber').text().trim();

同样处于当前状态,如果$('#phoneNumber')元素长度大于0的val(),则不会返回任何内容。

由于您将valid设置为false,因此您应该返回valid outside of your if / else`,即:

var $phoneNumber = $('#phoneNumber');
var $phoneNumberVal = $phoneNumber.val().trim(); //make sure to trim for whitespace
var valid;
if($phoneNumberVal.length === 0){
    valid = false;
} else if ($phoneNumberVal.length > 0) {
    valid = true;
}
return valid;