JQuery AJAX "поле данных" со смешанными данными - PullRequest
0 голосов
/ 29 марта 2011

У меня есть форма с несколькими полями:

<form id="unit">
  <input type="hidden" name="item_id" value="100" />
  <input type="hidden" name="name" value="item one" />
  <select name="option[1]">
    <option value="1">1GB</option>
    <option value="2">8GB</option>
  </select>
  <select name="option[2]">
    <option value="3">Red</option>
    <option value="4">Blue</option>
  </select>
</form>

Я хочу передать эти данные через jQuery ajax, поэтому я использую:

$.ajax({
    type: 'post',
    url: 'index.php?route=product/options_plus_redux/updateImage',
    dataType: 'json',
    data: $('form#unit :input'),
    success: function (data) {
        //do something here...
    }
});

И это прекрасно работает. Тем не менее, я хочу добавить еще один бит данных вместе с полями формы. Но я не могу понять синтаксис для этого. Я знаю, что так как selectbox называется «option», он попытается сериализовать этот массив. но в основном я пытаюсь сделать:

data: $('form#unit :input') +'x=test',

Но это возвращается очень неправильно

Есть идеи?

Ответы [ 2 ]

1 голос
/ 29 марта 2011

попробуйте это:

data: $('form#unit').serialize() +'&x=test',

поиск около jQuery сериализации формы

Вы можете увидеть его здесь: http://jsfiddle.net/maniator/pfb2c/

0 голосов
/ 29 марта 2011
var data = $('form#unit :input');
data.x = "test";
.......

url: 'index.php?route=product/options_plus_redux/updateImage',
dataType: 'json',
data: data,
.......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...