2013-03-11 64 views
0

我现在有根据HTML输入的输入更新JS/JQuery的变量

 <script> 
//  window.setInterval(function() 
//  { 
      $(function() 
      { 
      var SearchTerm = '<?php echo $_POST['Search']; ?>'; 
      $.ajax({          
       url: 'Ajax/AjaxAdvSearch.php?SearchTerm='+SearchTerm, dataType: 'json', success: function(rows)   
       { 
       $('#output').empty(); 
        for (var i in rows) 
        { 
         var row = rows[i];   
         var id = row[0]; 
         var FunctionName = row[1]; 
         $('#output').append("<a href='Page.php?ID="+id+"'>"+FunctionName+"</a><br>"); 
        } 
       } 
      });  
      }); 
//  }, 5000); 
     </script> 

$_POST['Search'];从HTML文本区域得到我的高级搜索页面这个JavaScript/AJAX请求:

<textarea name='Search' style='width: 100%; height: 150px;'></textarea><br> 

我想动态更新我的JavaScript var每次用户键入到textarea,而用户不必按提交..

因此,虽然用户是t yping,每次使用内容更新textarea时都会动态更新。

任何人都可以提供一些帮助吗?

回答

0

使用.change()方法的jQuery

var variableToUpdate = ''; 

$('#Search').change(function() { 
    variableToUpdate = $(this).val(); 

    // call your search from within if you want 
}); 

对于搜索作为你型教程和插件...

http://dbachrach.com/blog/2007/04/spotlight-like-search-as-you-type-with-css-ajax-js/ http://www.jquery4u.com/plugins/14-jquery-live-search-plugins/

+2

更好的是,使用'this.val' – zakangelle 2013-03-11 21:03:18

+1

甚至更​​好,使用'$(this).val();' – BinaryTox1n 2013-03-11 21:04:04

+0

好点,你们两个:) – 2013-03-11 21:04:21

0

让我为你提供一个示例

<html> 
<head><style> 

</style> 

<script> 
var DataCon; 

function UpdateDIV(){ 
    document.getElementById('updater').innerHTML=DataCon; 
} 
</script> 
</head><body> 
<div id="updater"> 
</div> 

<textarea onkeydown="DataCon=this.value;UpdateDIV()"></textarea> 

</body> 
</html> 

而且这里你可以看到,当你输入一个全局变量更新并伴随它时,检查它的工作UpdateDIV函数也给定哪个更新与ID更新的div ...

现在只是分配某些变数,并完成你的工作