Как сделать выборку
Здравствуйте. Помогите пожалуйста сделать выборку элемента, используя $(this). Вот код HTML:
<form id='f1'> <textarea name='name1-1' id='id1-1' class='class1'></textarea> <textarea name='name1-2' id='id1-2' class='class1'></textarea> <p><input type='reset' value='Очистить' class='inputBT'><input type='submit' value='Сохранить' name='name1' id='BT1' class='inputBT JTInput'></p> </form> <form id='f2'> <textarea name='name2-1' id='id2-1' class='class1'></textarea> <textarea name='name2-2' id='id2-2' class='class1'></textarea> <p><input type='reset' value='Очистить' class='inputBT'><input type='submit' value='Сохранить' name='name2' id='BT2' class='inputBT JTInput'></p> </form> Нужно выбрать текстовые поля относительно нажатой кнопки (.JTInput). Пробовал и prev, prevAll, parent и другие ($(this).prevAll(".class1")) - не могу выбрать. Эти формы я отправляю с помощью Аякс, и таких форм у меня почти десять. Не хочу для каждого отдельную функцию делать (точнее уже сделал - но код получился очень не красивый и громоздкий). Хочу одну универсалую функцию сделать, чтобы при нажатии на кнопку автоматом выбирались нужные объекты. Помогите пожалуйста, кто знает. |
Булат Азат улы,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(function() { $(".JTInput").on("click", function(event) { event.preventDefault(); var data = $(this.form).serialize(); alert(data); }) }); </script> </head> <body> <form id='f1'> <textarea name='name1-1' id='id1-1' class='class1'></textarea> <textarea name='name1-2' id='id1-2' class='class1'></textarea> <p><input type='reset' value='Очистить' class='inputBT'><input type='submit' value='Сохранить' name='name1' id='BT1' class='inputBT JTInput'></p> </form> <form id='f2'> <textarea name='name2-1' id='id2-1' class='class1'></textarea> <textarea name='name2-2' id='id2-2' class='class1'></textarea> <p><input type='reset' value='Очистить' class='inputBT'><input type='submit' value='Сохранить' name='name2' id='BT2' class='inputBT JTInput'></p> </form> </body> </html> |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Пример</title> </head> <body> <form id='f1'> <textarea name='name1-1' id='id1-1' class='class1'></textarea> <textarea name='name1-2' id='id1-2' class='class1'></textarea> <p><input type='reset' value='Очистить' class='inputBT'> <input type='submit' value='Сохранить' name='name1' id='BT1' class='inputBT JTInput'></p> </form> <form id='f2'> <textarea name='name2-1' id='id2-1' class='class1'></textarea> <textarea name='name2-2' id='id2-2' class='class1'></textarea> <p><input type='reset' value='Очистить' class='inputBT'> <input type='submit' value='Сохранить' name='name2' id='BT2' class='inputBT JTInput'></p> </form> <script> window.onload = function(){ var button = document.querySelectorAll('.JTInput'); for(var i = 0; i < button.length; i++){ button[i].onclick = searchForm; } function searchForm(){ var res = this.form; alert(res.id); } } </script> </body> </html> |
рони,
Спасибо! |
Часовой пояс GMT +3, время: 09:00. |