28.06.2015, 21:28
|
Новичок на форуме
|
|
Регистрация: 27.07.2012
Сообщений: 2
|
|
Передача параметров в url средствами jquery ajax
Всем привет.
Есть необходимость добавить GET параметры используя jquery ajax при клике кнопке. Например есть код
Код:
|
<button id="20" class="click">Click me</button>
<button id="21" class="click">Click me</button>
<button id="22" class="click">Click me</button> |
При клике на конкретную кнопку нужно, передать id кнопки в строку, чтобы выглядело так
Код:
|
myapp.com/mainpage.jsp?check=20 |
Суть задачи вообще в чём. Нужно:
- При клике, чтобы открывался pop-up, в котором есть код, который берёт значение параметра check;
- выполняет выборку из базы;
- отображает результат.
Код:
|
<c:if test="${not empty param.check}">
<c:forEach var="theItem" items="${service.getItems(param.check)}">
<td><c:out value="${theItem.getTitle()}"></c:out></td>
<td><c:out value="${theItem.getInfo()}"></c:out></td>
</c:forEach>
</c:if> |
Изначально сделал, кликающими элементами ссылки
Код:
|
<a href="?check=21" class="click">Click me</a>
<a href="?check=22" class="click">Click me</a> |
Результат отображал в соседней колонке - тут без проблем, при клике на ссылку подставяется нужный параметр в URL и делается выборка в соседней табличке на странице. Проблема появилась в том, что не получается сделать, тоже самое только не через ссылки а кнопки, а параметры чтобы передавались через jquery ajax a не href. С реализацией не выходит Перекопал большое количество примеров - х*ен там. Один из последних вариантов был.
Код:
|
$(document).ready(function() {
$(".click").click(function() {
$.ajaxSetup({
url: "mainpage.jsp",
global: false,
type: "GET"
});
$.ajax({ check: 21 });
});
}); |
Но при дебаге, значение check = null, а точнее или если делать
Код:
|
<%=request.getParameter("check") %> |
Подскажите пожалуйста подсказать, что делаю не так.
|
|
29.06.2015, 08:37
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,232
|
|
Сообщение от sys
|
<button id="20" class="click">Click me</button>
<button id="21" class="click">Click me</button>
<button id="22" class="click">Click me</button>
При клике на конкретную кнопку нужно, передать id кнопки в строку, чтобы выглядело так
Код:
myapp.com/mainpage.jsp?check=20
|
Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
<link rel="stylesheet/less" type="text/css" href="style.less">
<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
$('button').click(function(){
var url='myapp.com/mainpage.jsp?check='+this.id;
alert(url);
});
});
</script>
</head>
<body>
<button id="20" class="click">Click me</button>
<button id="21" class="click">Click me</button>
<button id="22" class="click">Click me</button>
</body>
</html>
|
|
08.10.2016, 09:31
|
Интересующийся
|
|
Регистрация: 17.09.2016
Сообщений: 16
|
|
Добрый день, уважаемые! у меня стоит похожий вопрос, но выбирается 2 параметра, только потом происходит переход.
Не могу найти решение следующей задачи: страничка состоит из 2х частей. В первой части блоки div с параметрами(1-население, 2-средний возраст, 3-средняя зарплата и т.д.).Каждый параметр имеет ссылку((href="/main/Gorod.php?action=X)). Во второй части список городов.Каждый город имеет ссылку(href="/main/Gorod_inf.php?gorod=Y". Где X и Y -порядковые номера.
Выглядит примерно так:
_______________________
.....часть1...........часть2..|
|.1параметр...|...1город....|
|.2параметр...|...2город....|
|.3параметр...|...2город....|
|..................|.................|
|.Xпараметр...|...Yгород....|
_______________________
Если пользователь выберет город, то во второй части блок отобразит информацию из вики о городе, при этом останется возможность выбрать параметр. Вот тут то при выборе параметра должно произойти слияние ссылок,формирование единой и переход по ней. Что то вроде /main/gorod.php?action=$X&gorod=$Y.
Какие есть варианты? если есть пример,было бы замечательно..
|
|
08.10.2016, 16:33
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от jestify
|
Вот тут то при выборе параметра должно произойти слияние ссылок,формирование единой и переход по ней.
|
Что это означает, например для позиции 2:
а) 2параметр и 2город получают каждый таковую ссылку?
б) 2параметр и 2город уже единый текст для единой ссылки?
|
|
08.10.2016, 16:39
|
Интересующийся
|
|
Регистрация: 17.09.2016
Сообщений: 16
|
|
Если пользователь выбрал 2 параметр и 2 город, формируется такая ссылка: href="/main/Gorod_inf.php?gorod=2&action=2"
|
|
08.10.2016, 16:42
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от jestify
|
Если пользователь выбрал 2 параметр и 2 город, формируется такая ссылка: href="/main/Gorod_inf.php?gorod=2&action=2"
|
Это ничего не поясняет - отдельная где-то ссылка или как?
К тому же, сперва было написано так - Если пользователь выберет город, то во второй части блок отобразит информацию из вики о городе, при этом останется возможность выбрать параметр.
То есть о втором условии ни слова. Вы уж пропишите все "И", иначе никто гадать не станет, что, когда и где требуется.
|
|
08.10.2016, 16:49
|
Интересующийся
|
|
Регистрация: 17.09.2016
Сообщений: 16
|
|
Если пользователь выберет город, то в блоке где были города,появится информация из вики о городе и "запомнится" соответствующий raj=X, После чего пользователь выберет параметр, который его интересут, тем самым запомнится 2я переменная action=Y, ссылка будет сформирована из двух параметров, браузер направит пользователя на страницу /main/Gorod_inf.php?gorod=X&action=Y. Надеюсь, понятно объясняю. То есть ,переход по ссылке осущетсвится только когда пользователь выбрал и город, и параметр
|
|
08.10.2016, 18:44
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от jestify
|
После чего пользователь выберет параметр, который его интересут, тем самым запомнится 2я переменная action=Y
|
А если пользователь сначала щелкнет 2параметр, тогда что? Игнорировать или запомнить и ждать выбор города? Но если таковое возможно, то судя по вопросу выбор города, это асинхронный запрос и отображение у клиента полученного, но коли первый параметр выбран, и выбран вторым город, то нужно осуществлять переход, смысла нет отображать.
От вас просят описать все условия, а вы видимо не обдумали все возможные ситуации, словно пользователь будет выбирать так, как вы этого ожидаете. И хорошо бы привести пример реального html-кода (части), а не абстракции "страница разделенная пополам", ибо не понять связаны ли ваши пары ссылок как либо, или же удобно обращаться к ним по общему родителю, и т.п.
|
|
09.10.2016, 09:28
|
Интересующийся
|
|
Регистрация: 17.09.2016
Сообщений: 16
|
|
Нашел такое решение:
($_GET["gorod"].)
<form action="script.php" method="get" >
<input type="submit" name="action" value="Воронеж">
Таким образом, при щелчке на кнопку "Воронеж" произойдет переход на адрес script.php?action=Воронеж.
Теперь проблема в следующем, значение value пишется и в url и на кнопку.. Ответ сам не нашел, к сожалению. Хотелось бы дописать
<input type="submit" name="action" value="Воронеж" id="1"> И чтобы на кнопке была надпись Воронеж,а в адресную строку попадало значение id
|
|
09.10.2016, 10:53
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
И как это найденное решение можно сопоставить с тем, что было описано ранее? Ну а коли так и надо, то
<form action="script.php">
<input type="hidden" name="action" value="1">
<input type="submit" value="Воронеж">
</form>
По умолчанию форма передается методом GET, то есть method="get" можно и опустить.
|
|
|
|