4

在我当前的项目中,我有两个文本字段,用户将分别在其中输入需求和区域。获取这些值后,我必须进行 ajax 调用并从数据库中获取必要的数据并将其返回。必须在任何文本字段中输入超过 4 个字符时进行 ajax 调用。只要只有一个文本字段,我就没有任何问题。

<input type="text" value="requirement" onkeyup="function1(this.value)" />
<input type="text" value="area" onkeyup="function2(this.value)" />

<script>
function function1(valuetosearch)
{
 //make the ajax call
}
</script>

<script>
function function2(valuetosearch2)
{
 //make the ajax call
}
</script>

如何组合这两个脚本并将 ajax 中的数据作为数组传递?
PS 编写脚本的主要原因是结合两个输入字段进行搜索。例如,如果有人在需求字段中输入房屋、车辆,在区域字段中输入地点 1、地点 2。结果搜索应显示以下结果
1) 地点 1 房屋
2) 地点 1 车辆
3) 地点 2 房屋
4) 地点 2 车辆

4

3 回答 3

3

您可以为每个元素设置 id 并使用

document.getElementById("id1").value

然后发出ajax请求

于 2013-04-16T10:16:06.030 回答
2

http://jsfiddle.net/JMpgU/

$("input").keyup( function () {
    var str = $(this).val() + " " + $(this).siblings().val();
    alert(str);
   //make the ajax call
});

有任意数量的输入:http: //jsfiddle.net/JMpgU/2/

$("input").keyup( function () {
    var strings = $(this).
                  siblings().
                  addBack().
                  map(function () {
                      return $(this).
                             val();
                  }).
                  toArray();
 //make the ajax call
});
于 2013-04-16T10:25:32.853 回答
1

尝试这个

<input type="text" value="requirement" onkeyup="functionABC()" id="First" />
<input type="text" value="area" onkeyup="functionABC()" id="Second" />

<script>
function functionABC()
{
   var searchString=$("#First").val()+" "+$("#Second").val();
   //make the ajax call
}
</script>

将“searchString”作为参数传递。

于 2013-04-16T10:17:53.283 回答