将两个输入字段值传递给脚本并组合进行搜索

时间:2013-04-16 10:13:41

标签: javascript jquery

在我目前的项目中,我有两个文本字段,用户将分别输入需求和区域。抓住这些值,我必须进行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中的数据作为数组传递?
对于脚本编写的主要原因是组合两个输入字段进行搜索。例如,如果有人进入房屋,车辆在需求字段和place1,place2在区域字段中。结果搜索应显示以下结果:1)place1 house
2)place1 vehicle
3)place2 house
4)place2 vehicle

3 个答案:

答案 0 :(得分:3)

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

获取另一个元素的值
document.getElementById("id1").value

然后发出ajax请求

答案 1 :(得分: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
});

答案 2 :(得分: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”作为参数传递。