2013-08-16 2 views
0

У меня есть этот код здесь:

$.post('search_results.php', { name: form.name.value }, 

Это помогает мне передать одно значение из поля ввода. Теперь у меня есть <select> </select>, и мне тоже нужно передать его, мне нужно передать больше переменных.

Как мне это сделать?

Что-то вроде:

$.post('search_results.php', { name: form.name.value , select: form.select.value }, 

ответ

2

Если предположить, что все элементы находятся в одной форме, самый простой способ заключается в использовании .serialize:

$.post('search_results.php', $('#formID').serialize()); 

Вы даже можете просто выбрать элементы управления формы, которые вы хотите, например:

$('input[name="name"], select[name="gender"]').serialize() 
+0

могли бы вы скажите мне, как использовать это выше? Я понимаю, что это проще, но пока я не заработаю, это займет некоторое время. – Letter

+0

Я не знаю, что вы имеете в виду. Конечно, вы можете использовать '{name: form.name.value, select: form.select.value}', если хотите, но я предполагал, что вы попросите более легкое решение, иначе, почему бы вы спросить вообще? –

0

Обычно я создаю объект данных, а затем выполняю цикл который собирает все значения и вставляет их в объект, а затем отправляет их на сервер.

Вы можете использовать что-то вроде этого:

var data = {}; 

$('form *[name]').each(function() { 
    data[$(this).attr('name')] = $(this).val(); 
}); 

$.post('search_results.php', data); 
0

вы можете использовать Serialize() метод только выше указанных, или если вы боретесь, вы можете использовать пар ключ: значение,

$.post('search_results.php', { ('firstname': form.firstname.value , 'password': form.password.value) }