我正在自定义我的代码。这是html
<div><input type="text" id="phone" /></div>
<div><input type="text" id="name" /></div>
jquery的
function checkvalid(id){
if(id == $('#phone')){
if($('#phone').val() != ''){
if(!$.isNumeric($('#phone').val())){
$('#phone').closest('div').append('<p id="text_phone" class="validate">Not a Valid Number</p>');
$('#phone').next('.validate').hide().fadeIn(2000);
}}}
}
$('input').each(function(){
$(this).change(function(){
var chkid = $(this).attr('id');
checkvalid(chkid);
//$(this).next('.validate').fadeToggle(2000);
});
});
但似乎没有改变功能......
答案 0 :(得分:1)
试试这个:
function checkvalid(id) {
console.log(id);
if (id == 'phone' && $('#phone').val() != '') {
if (!$.isNumeric($('#phone').val())) {
$('#phone').closest('div').append('<p id="text_phone" class="validate">Not a Valid Number</p>');
$('#phone').next('.validate').hide().fadeIn(2000);
} else {
$('#phone').next('.validate').hide(1000);
}
}
}
$('input').change(function () {
var chkid = $(this).attr('id');
checkvalid(chkid);
//$(this).next('.validate').fadeToggle(2000);
});
我改变了两件事:
Use if (id == 'phone') {
不是if(id == $('#phone')){
.change()
,不需要.each()
答案 1 :(得分:0)
试试这个
function checkvalid(id) {
if (id == "phone" && $('#phone').val() != '') {
if (!$.isNumeric($('#phone').val())) {
alert("is not numeric");
$('#phone').closest('div').append('<p id="text_phone" class="validate">Not a Valid Number</p>');
$('#phone').next('.validate').hide().fadeIn(2000);
}
}
}
$('input').on('change', function () {
var chkid = $(this).attr('id');
checkvalid(chkid);
//$(this).next('.validate').fadeToggle(2000);
});
我做的改变
id == 'phone'
代替id == $('#phone')
each
,只需与输入绑定on
用于事件委派