我想在ID为“search”的字段中显示“搜索”消息,并在用户点击时消失。这是我的代码。它不起作用。
<script>
$('#acceuil').live('pagecreate',function(event){
$('#search').blur(function(){
if ($('#search').val()=='')
$('#search').val("search");
});
$('#search').focus(function(){
if (('#search').val()=='search')
$('#search').val("");
});
});
</script>
<div data-role="page" id ="acceuil" >
<div data-role="header" data-theme="a" ><h3>TEST</h3></div>
<div data-role="content">
<div data-role="container" >
<img src="images/olampromo.gif">
</div>
<div data-role="container">
<label for="search">Cherchez votre coupon :</label>
<input type="search" id="search" value="search">
</div>
</div>
<div data-role="footer" data-theme="a" ><h3>footer</h3></div>
答案 0 :(得分:8)
为什么不使用HTML5原生占位符属性?不需要JS。
<input type="text" id="searchBox" placeholder="search..." />
直播示例:
答案 1 :(得分:2)
你错过了JS中的$
。尝试更改行:
if (('#search').val()=='search')
为:
if ($('#search').val()=='search')
您可以使用this
进一步改进它。 this
将引用触发事件的对象(即搜索元素)。所以,试着改为:
if ($(this).val()=='search')
同样的逻辑适用于模糊和焦点处理程序。
这是展示解决方案的jsFiddle。
答案 2 :(得分:1)
试试这个:
$("#search").focus(function(srcc) {
var p_val = "Search";
if ($(this).val() == p_val) {
$(this).val("");
}
});
$("#search").blur(function() {
var p_val = "Search";
if ($(this).val() == "") {
$(this).val(p_val);
}
});
$("#search").blur();