0

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

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

3 回答 3

3

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

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

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

于 2013-05-11T03:02:27.307 回答
1

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

$('#phoneNumber')

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

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

}

要让侦听器检查事件的字段,例如模糊,您可以这样做:

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

如果您准确地更新您的问题,我们可能会帮助您将其写出来。

于 2013-05-11T03:04:31.597 回答
0

如果元素id属性是phoneNumber,您将需要选择该元素。

$('#phoneNumber').val()

如果元素不是 a <input>,而是像 a 这样的块级元素,<div>您应该使用.text()

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

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

由于您设置valid为 false,您应该返回valid outside of yourif/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;
于 2013-05-11T03:05:01.197 回答