jQuery
$(document).ready(function()
{
$("#uname").keyup(function()
{
var name = $(this).val();
if(name.length > 3)
{
$("#result").html('checking...');
$.ajax({
type : 'POST',
url : '<?php echo base_url('users/check') ?>',
data : $(this).serialize(),
success : function(data)
{
$("#result").html(data);
$("#check").addClass("has-error"); // this doesn't seem to work
}
});
return false;
}
else
{
$("#result").html('');
}
});
});
AJAX响应工作成功,除了addClass()
函数不起作用,我想在此类的Bootstrap输入类中添加类.has-error
:
<div id="#check" class="form-group col-lg-6">
<label>Username</label> <span id="result"></span>
<input type="text" name="uname" id="uname" class="form-control" id="" value="">
</div>
我该如何解决这个问题?
答案 0 :(得分:0)
修复标记中的ID。您有一个额外的#
<div id="check" class="form-group col-lg-6">
当您使用Id jQuery选择器时,它将采用'#'+theIdOfTheDomElement
格式。如果您有一个额外的#
作为dom元素id属性值的前缀字符,它将无效。所以即使你尝试$("##check").addClass("has-error");
,这也行不通。
因此,请从id属性值中删除额外的#
前缀。
这不仅仅是前缀字符。如果您在id属性值的任何位置都有#
,则在使用Id选择器时它将无效。 强>
我还在id
输入元素中看到了uname
个属性的2个实例。您可能也希望解决这个问题。