获得特定输入时jQuery淡出单元格

时间:2013-09-16 08:52:12

标签: jquery html input jquery-animate fading

我得到了一些带有一些单元格的输入和表格。我是jQuery的新手,叔叔谷歌无法解决我的问题,所以在这里你去:

<input type='text' id='myinput' value='' />
<table class="main">
    <tr>
        <td id="cells">Some cells</td>
    </tr>
</table>

现在怎么样...... 我有一些功能,当你打字时自动完成单词,一切都很好,它显示了字段下匹配单词的列表,现在当我点击其中一个单词时,我想淡化一些单元格。

我想出了类似的东西:

$('#myinput').focus(function() {
   if( $(this).val() == "dog") {
      $('#cells').animate({'opacity':'0.2'},1000, function() {
        $('#myinput').val('').css('opacity','1');
      });
   }
});

它有效,但我必须点击该字段两次 - 当键入并获得匹配的单词时,它首先单击列表并淡出单元格是第二次单击该字段...我想立即淡化它首次点击后。我该如何改进该代码?

1 个答案:

答案 0 :(得分:0)

试试这个:(这就是你想要实现的目标):

$('#myinput').change(function() {
   if( $(this).val() == "dog") {
      $('#cells').animate({'opacity':'0.2'},1000, function() {
        $('#myinput').val('').focus();
         $('#cells').css('opacity','1');
      });
   }
});

在这里工作小提琴:http://jsfiddle.net/M4KgL/1/