JQuery Найти и предоставить значение проблемы - PullRequest
0 голосов
/ 09 февраля 2012

Код: http://jsfiddle.net/m9yen/

Проблема:

  • У меня есть несколько списков LI FOOD ITEMS
  • Каждый li содержит ссылку (добавить) и вчто href является rel, который содержит этот конкретный FOODID
  • Теперь мне нужно иметь поле ввода для QUANITY
  • Мне также нужно выбрать с выпадающими списками для SERVING TYPE (то есть граммзаполню)
  • Конечная проблема - когда нажата кнопка добавления, мне нужно получить rel для href, значение ввода и выбранную опцию для этого конкретного LI ONLY иотправил его в request.php через ajax.

Теперь он у меня работает именно с rel only, так как это было, если щелкнуть href, получить attr ('rel') и отправить его через ajax вrequest.php - НО, поскольку для этого требуются другие значения элементов вне href, но только в пределах этого конкретного LI, я заблудился и попытался использовать .find () безуспешно.

ПРИМЕЧАНИЕ:Будет более одного, возможно 50-100 списков (каждый LI)

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

http://jsfiddle.net/m9yen/3/ - как правило, прибрано.

  • Прослушивание клика по #addING в более коротком синтаксисе
  • с использованием event.preventDefault() вместо return false для предотвращения выполнения ссылки
  • с использованием .siblings()...val() для получения значений входных данных
  • изменено =^= на = - в любом случае вы соответствуете точному имени. Если вам нужно «начать с», просто ^= сделает
1 голос
/ 09 февраля 2012

Поскольку элементы input и select являются его братьями и сестрами, вы должны использовать метод siblings, чтобы найти их. Поскольку имена элементов совпадают с именами, которые вы используете, используйте = вместо =^= и просто используйте "rel", чтобы получить значение атрибута из привязки вместо "a#rel".

var returnedResult = $(this).attr('rel') + "-" + $(this).siblings('input[name="servingAmount"]'.val() + "-" $(this).siblings('select[name="servingType"]').val();

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...