2013-04-16 4 views
4

В моем текущем проекте у меня есть два текстовых поля, в которые пользователь будет вводить требование и область соответственно. Захватив эти значения, я должен выполнить вызов ajax и извлечь необходимые данные из базы данных и вернуть их. Вызов ajax должен выполняться как и когда вход превышает 4 символа в любом из текстовых полей. Пока было только одно текстовое поле, у меня не было никаких проблем.Передайте два значения полей ввода сценарию и объедините для поиска

<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 как массив?
P.S Основная причина написания скриптов - выполнить поиск, объединяющий два поля ввода. Например, если кто-то входит в дом, транспортное средство в поле требований и place1, place2 в поле области. Поиск результата должен отображать результат для следующего
1) Place1 дома
2) место1 автомобиль
3) place2 дом
4) place2 автомобиль

ответ

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" как параметр.

+0

ОК .. Попробуй :) –

+0

спасибо .. это сработало. :) –

3

вы можете установить идентификатор для каждого elemnt и получить значение у другого с помощью

document.getElementById("id1").value 

, а затем сделать запрос Ajax

+0

Спасибо. это хорошая идея. –

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 
}); 
+0

спасибо, что нашел решение моей проблемы, похожее на твою .. :) –

Смежные вопросы