Я могу публиковать с помощью ajax, но когда я хочу вытащить данные без обновления страницы, я могу сделать это только 2 раза, тогда кнопка теряет свою функцию.
<div>
<input type = "hidden" name = "producecode" class = "pcode" value = "{{per.produceCode}}" />
<input type = "hidden" name = "useremail" class = "uponequantity" value = "{{user.username}}" />
<button class = "btn btn-sm btn-primary upoq"><i class = "fa fa-plus"></i></button></div>
и jquery
$.ajax({
type: "POST",
url: "/uponequantity/",
headers: { "X-CSRFToken": '{{csrf_token}}' },
data: {
"producecode":$(this).parent().find(".pcode").val(),
"useremail":$(".uponequantity").val(),
},
success: function() {
window.location.assign('/basket/'+"?b = "+$(".uponequantity").val());
}
});
/*$.ajax({
url:'/baskett/'+"?b = "+$(".uponequantity").val(),
headers: { "X-CSRFToken": '{{csrf_token}}' },
type:'POST',
success:function(result){
$('.basket').html(result);
}
});
*/
})
Просто добавьте еще одну строку, чтобы ссылаться на ваш второй ввод так же, как и первый.
$(".up").click(function(){
$(".prdtd").find("input:first- child").attr("value");
$(".pcode").val()
$(".uponequantity").val()//<-- new line for the second hidden value
}
-----------------------------------------
Обновлять:
-----------------------------------------
OP имеет несколько кнопок с одним и тем же классом, каждая из которых находится в своем собственном div, и хочет получить доступ к значениям внутри каждого div.
Итак, сначала вам нужно изменить «код» с идентификатора на класс, чтобы получить все экземпляры. (я бы для уникальных экземпляров)
После этого вам нужно получить «код» и «по справедливости», которые связаны с этой кнопкой, и один из способов сделать это:
$(".up").click(function(){
$(this).parent().find(".pcode").val()
$(this).parent().find(".uponequantity").val()
}
Проще говоря, ключевое слово this
относится к нажатой кнопке.
Затем вы получаете прямой родительский элемент, который будет иметь кнопку и скрытые значения в качестве дочерних элементов.
Наконец, вы получаете каждого конкретного ребенка с помощью команды find
и делаете с ними все, что хотите.
Спасибо, но у меня возникли проблемы со скрытым вводом, имя которого — код производства.
@Kazım, вы упомянули, что «он принимает только первое значение», что вы имеете в виду?
@Kazım Было бы лучше, если бы вы предоставили весь свой код, чтобы мы могли лучше помочь.
Делюсь полным кодом
@Kazım Я прочитал сообщение, которое вы удалили, и понял, чего вы хотите. я обновлю свой ответ
Спасибо, @Gabriel, я обновил свой вопрос по совету Ари.
Если я правильно понимаю ваш вопрос, вы хотели бы получить значение обоих входов в своем обратном вызове.
Похоже, вы неправильно написали pdcode
в своем JavaScript.
Помогает ли приведенный ниже фрагмент кода?
$(".up").click(function() {
const value1 = $(".pdcode").val();
const value2 = $(".uponequantity").val();
}
На самом деле я хочу нажать другую кнопку, pdcode возвращает другое значение, но я нажимаю другую кнопку, pdcode возвращает одно значение
Было бы намного проще, если бы вы могли добавить больше своего кода
Делюсь полным кодом
$(".pcode").val()
ссылки.pcode
, но я думаю, что вместо этого должно быть.pdcode
, верно?