我对jquery很新,所以这可能很简单。但是,我有一个简单的代码片段,可以查找电话号码的ID,如果有值,则可以执行某些操作。但我似乎无法让它发挥作用,必须有一种比我使用的更有效的方法。新手所以非常感谢任何帮助。
if ($(this).attr("id") == "phoneNumber") {
if ($(this).val().length == 0) {
alert(placeholderText + " check phone number");
valid = false;
return false;
}
}
答案 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;