Проблема Настройка <input type = "search" ...> Jquery Mobile - PullRequest
2 голосов
/ 12 августа 2011

Я хочу показать сообщение «поиск» в поле с идентификатором «поиск» и сделать так, чтобы оно исчезало при нажатии пользователем.Вот мой кодЭто не работает.

 <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>

Ответы [ 3 ]

8 голосов
/ 12 августа 2011

Почему бы не использовать собственный атрибут-заполнитель HTML5?JS не требуется.

<input type="text" id="searchBox" placeholder="search..." />

Live Пример:

2 голосов
/ 12 августа 2011

Вы пропустили $ в вашем JS.Попробуйте изменить строку:

if (('#search').val()=='search')

на:

if ($('#search').val()=='search')

Вы можете улучшить ее, используя this.this будет ссылаться на объект, на котором было инициировано событие (т. Е. Элемент поиска).Итак, попробуйте вместо этого:

if ($(this).val()=='search')

Та же логика применима и к обработчикам размытия, и к фокусу.

Вот jsFiddle , демонстрирующее решение.

1 голос
/ 12 августа 2011

попробуйте это:

        $("#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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...