JQuery Autocomplete结合PHP时ID选择器失效问题求助
问题分析与解决方案
哦,我一眼就发现问题出在哪啦!你之所以用ID选择器$('#username')时Autocomplete失效,核心原因是你的input元素根本没有设置id属性。
看你的HTML代码:
<label>USUARIO:</label><input type='text' name='username' value='' class='auto' align='center'>
这里只给input加了class='auto',但缺少id='username'——jQuery的ID选择器是通过元素的id属性来查找节点的,找不到目标元素,Autocomplete自然无法绑定生效。而类选择器$('.auto')能匹配到带有这个class的input,所以功能正常。
解决办法很简单,两步搞定:
- 给input元素添加id属性,修改后的HTML:
<label>USUARIO:</label><input type='text' name='username' id='username' value='' class='auto' align='center'>
- 保持你的JavaScript代码不变(用ID选择器
$('#username')):
<script type="text/javascript"> $(function() { //autocomplete $('#username').autocomplete({ source: "search.php", minLength: 0 }); }); </script>
小技巧分享:
以后遇到选择器失效的情况,可以在浏览器控制台输入console.log($('#username').length),如果输出是0,就说明选择器没有匹配到任何元素,这时候就要检查元素的属性是否和选择器对应啦~
内容的提问来源于stack exchange,提问作者Roberto Nervo
相关产品推荐
相关产品推荐

