Как мне ссылаться на значение входных данных в jQuery?

#jquery

#jquery

Вопрос:

В настоящее время я использую следующий метод для возврата значения из div:

 <div data-post-id="1">
   <a>Add To Favourites</a>
<div>

$(this).parent().data('post-id');
  

Что я хотел бы сделать, это что-то вроде этого:

 <div>
   <input type="hidden" name="postId" value="1" />
   <a>Add To Favourites</a>
<div>
  

Имейте в виду:

  1. На каждой странице будет несколько сообщений. Каждый div, содержащий post, будет иметь свои собственные входные данные.

  2. Значение postID не будет доступно из моего JS-файла. Таким образом, ссылка на its должна быть каким-то образом получена с помощью JavaScript.

Я хочу отказаться от использования parent () и использовать единственную ссылку для идентификатора каждой записи, независимо от того, является ли действие избранным, отправить другу и т.д…

Комментарии:

1. Не уверен, почему ваш postID не был бы доступен из вашего JS-файла, но я думаю, что ваш оригинальный метод лучше.

Ответ №1:

чтобы получить значение postID, используйте

 alert($("input#postId").val());
  

Комментарии:

1. почтовый идентификатор недоступен из моего JS-файла :/

2. если вы размещаете несколько входных данных на своей странице, вы должны знать, что ID должен быть уникальным, поэтому я рекомендую установить переменную class, поэтому class=’input1′ id=’postID’, class=’input2′ id =’postID’, или вы могли бы сделать class = ‘input’ id = ‘1’, class = ‘input’ id = ‘2’

3. Не могу ли я напрямую ссылаться на входные данные без использования класса или идентификатора?

4. $ («input»).someFunction() будет ссылаться на все входные данные, если у вас есть входные данные с именем класса и идентификатором, вы ссылаетесь на него следующим образом: $ («input.className#idName»);

Ответ №2:

Вы могли бы использовать селектор атрибутов для получения скрытых входных данных. Просто добавьте поле «isPostId» к вашему скрытому вводу, а затем извлеките их с помощью объекта jQuery:

 $('div input[isPostId="true"]')

<input type="hidden" isPostId="true" value="1"/>