我试图得到输入文本值时,我通过键入按钮+或-所以我可以发送它的形式,但当我点击搜索按钮,我没有得到任何在URL。我拿到了这个:myWebsite.com/?#
每次使用按钮+和按钮进行更改时,我都需要得到最终值
// increment num (Voyageurs)
$(".voyageurs-content__item-right :disabled").before(
'<button type="button" name="button_dec" class="dec button-inc-dec"><span>-</span></button>'
);
$(".voyageurs-content__item-right :disabled").after(
'<button type="button" name="button_in" class="inc button-inc-dec"><span>+</span></button>'
);
$(".button-inc-dec").on("click", function() {
var $button = $(this);
var oldValue = $button.parent().find("input").val();
if ($button.text() == "+") {
var newVal = parseFloat(oldValue) + 1;
$(".button-inc-dec.dec").removeClass("nb-underZero");
$(".button-inc-dec.dec").removeAttr("disabled");
// console.log("btn", $button);
}
if (newVal > 0) {} else {
// Don't allow decrementing below zero
if (oldValue > 0) {
var newVal = parseFloat(oldValue) - 1;
}
if (newVal == 0) {
$button.addClass("nb-underZero");
$button.attr("disabled", true);
newVal = 0;
}
}
$button.parent().find("input").val(newVal);
var id = $button.attr("id");
$.ajax({
type: "POST",
url: "?id=" + id + "&newvalue=" + newVal,
success: function() {
$button.parent().find("input").val(newVal);
},
});
});
.search-box .search-box__voyageurs {
padding: 0 4rem 1.5rem 4rem;
margin-right: 2rem;
}
.search-box .search-box__voyageurs .voyageurs-content {
width: 43rem;
min-width: 43rem;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item {
justify-content: space-between;
}
.search-box {
flex-direction: row;
padding: 1rem 2.5rem;
position: relative;
display: flex;
flex-direction: column;
border-radius: 4.5rem;
background-color: #FFF;
padding: 1rem 3rem 1rem 1rem;
}
.search-box .radius-box {
position: absolute;
top: 10.6rem;
background-color: #FFF;
border-radius: 3.2rem;
padding: 3.5rem 3rem 3.5rem;
}
.search-box .search-box__label {
font-weight: bold;
text-align: left;
margin-bottom: 0.5rem;
}
.search-box .search-box__flex-bulle {
display: flex;
flex-direction: row;
align-items: center;
}
.search-box .search-box__voyageurs {
display: flex;
flex-direction: column;
padding: 0 1rem 1.5rem 1rem;
text-align: left;
}
vertical-align: bottom;
}
.search-box .search-box__voyageurs button {
color: #576070;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item {
display: flex;
position: relative;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item:not(:last-child) {
padding-bottom: 2rem;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item:not(:last-child):after {
content: "";
background-color: #E1E1E1;
width: 100%;
height: 0.1rem;
display: block;
position: absolute;
bottom: 0;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item:not(:first-child) {
padding-top: 2rem;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-left p {
font-size: 1.6rem;
font-weight: bold;
margin: 0;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-left span {
color: #576070;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right {
display: flex;
align-items: baseline;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right .button-inc-dec.dec.nb-underZero {
border: 0.1rem solid #B8BCC3;
color: #B8BCC3;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right .button-inc-dec.inc,
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right .button-inc-dec.dec {
display: flex;
align-items: center;
justify-content: center;
width: 3.1rem;
height: 3.1rem;
border: 0.1rem solid #576070;
border-radius: 50rem;
padding: 0;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right input[type=text] {
color: #576070;
background-color: #FFF;
border: none;
width: 3rem;
font-size: 2rem;
text-align: center;
}
.search-box .search-box__btn {
display: flex;
align-items: center;
}
.search-box .search-box__btn>button {
font-size: 1.6rem;
font-weight: bold;
background-color: #F93C64;
color: #FFF;
padding: 1.5rem 3rem;
border: none;
border-radius: 4rem;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form name="search" id="az-search-box" class="validate search-box" method="GET" action="#">
<div class="search-box__voyageurs">
<div class="voyageurs-content radius-box">
<div class="voyageurs-content__item">
<div class="voyageurs-content__item-left">
<p>Adultes</p>
</div>
<div class="voyageurs-content__item-right">
<input type="text" class="voyageurs-choix" disabled name="voyageur_adultes" id="voyageur-adultes" value="0">
</div>
</div>
<div class="voyageurs-content__item">
<div class="voyageurs-content__item-left">
<p>Enfants</p>
</div>
<div class="voyageurs-content__item-right">
<input type="text" class="voyageurs-choix" disabled name="voyageur_enfants" id="voyageur-enfants" value="0">
</div>
</div>
<div class="voyageurs-content__item">
<div class="voyageurs-content__item-left">
<p>Bébés</p>
</div>
<div class="voyageurs-content__item-right">
<input type="text" class="voyageurs-choix" disabled name="voyageur_bebes" id="voyageur-bebes" value="0">
</div>
</div>
</div>
</div>
<div class="search-box__btn">
<button type="submit" id="search-form-submit">Search
</button>
</div>
</form>
发布于 2022-03-29 05:26:26
问题是id
和newValue
变量的值都是undefined
。
此外,当单击按钮增量时,newValue
变量已在if块中启动.因此,如果单击按钮减少,则newValue
将是undefined
。
我假设您希望将id
的input
名称值(例如: voyageur_adultes、voyageur_enfants、.)发送如下:
var id = $input.attr("name");
// increment num (Voyageurs)
$(".voyageurs-content__item-right :disabled").before(
'<button type="button" name="button_dec" class="dec button-inc-dec"><span>-</span></button>'
);
$(".voyageurs-content__item-right :disabled").after(
'<button type="button" name="button_in" class="inc button-inc-dec"><span>+</span></button>'
);
$(".button-inc-dec").on("click", function(e) {
var $button = $(e.currentTarget);
var $input = $button.parent().find("input")
var curVal = parseInt($input.val());
if ($button.attr("name") === "button_dec") {
$input.val(curVal === 0 ? 0 : --curVal);
}
if ($button.attr("name") === "button_in") {
$input.val(++curVal);
}
var id = $input.attr("name");
var newValue = $input.val();
console.log(`?id= ${id} &newvalue= ${newValue}`);
$.ajax({
type: "POST",
url: `?id= ${id} &newvalue= ${newValue}`,
success: function() {},
});
});
.search-box .search-box__voyageurs {
padding: 0 4rem 1.5rem 4rem;
margin-right: 2rem;
}
.search-box .search-box__voyageurs .voyageurs-content {
width: 43rem;
min-width: 43rem;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item {
justify-content: space-between;
}
.search-box {
flex-direction: row;
padding: 1rem 2.5rem;
position: relative;
display: flex;
flex-direction: column;
border-radius: 4.5rem;
background-color: #FFF;
padding: 1rem 3rem 1rem 1rem;
}
.search-box .radius-box {
position: absolute;
top: 10.6rem;
background-color: #FFF;
border-radius: 3.2rem;
padding: 3.5rem 3rem 3.5rem;
}
.search-box .search-box__label {
font-weight: bold;
text-align: left;
margin-bottom: 0.5rem;
}
.search-box .search-box__flex-bulle {
display: flex;
flex-direction: row;
align-items: center;
}
.search-box .search-box__voyageurs {
display: flex;
flex-direction: column;
padding: 0 1rem 1.5rem 1rem;
text-align: left;
}
vertical-align: bottom;
}
.search-box .search-box__voyageurs button {
color: #576070;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item {
display: flex;
position: relative;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item:not(:last-child) {
padding-bottom: 2rem;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item:not(:last-child):after {
content: "";
background-color: #E1E1E1;
width: 100%;
height: 0.1rem;
display: block;
position: absolute;
bottom: 0;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item:not(:first-child) {
padding-top: 2rem;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-left p {
font-size: 1.6rem;
font-weight: bold;
margin: 0;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-left span {
color: #576070;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right {
display: flex;
align-items: baseline;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right .button-inc-dec.dec.nb-underZero {
border: 0.1rem solid #B8BCC3;
color: #B8BCC3;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right .button-inc-dec.inc,
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right .button-inc-dec.dec {
display: flex;
align-items: center;
justify-content: center;
width: 3.1rem;
height: 3.1rem;
border: 0.1rem solid #576070;
border-radius: 50rem;
padding: 0;
}
.search-box .search-box__voyageurs .voyageurs-content .voyageurs-content__item .voyageurs-content__item-right input[type=text] {
color: #576070;
background-color: #FFF;
border: none;
width: 3rem;
font-size: 2rem;
text-align: center;
}
.search-box .search-box__btn {
display: flex;
align-items: center;
}
.search-box .search-box__btn>button {
font-size: 1.6rem;
font-weight: bold;
background-color: #F93C64;
color: #FFF;
padding: 1.5rem 3rem;
border: none;
border-radius: 4rem;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form name="search" id="az-search-box" class="validate search-box" method="GET" action="#">
<div class="search-box__voyageurs">
<div class="voyageurs-content radius-box">
<div class="voyageurs-content__item">
<div class="voyageurs-content__item-left">
<p>Adultes</p>
</div>
<div class="voyageurs-content__item-right">
<input type="text" class="voyageurs-choix" disabled name="voyageur_adultes" id="voyageur-adultes" value="0">
</div>
</div>
<div class="voyageurs-content__item">
<div class="voyageurs-content__item-left">
<p>Enfants</p>
</div>
<div class="voyageurs-content__item-right">
<input type="text" class="voyageurs-choix" disabled name="voyageur_enfants" id="voyageur-enfants" value="0">
</div>
</div>
<div class="voyageurs-content__item">
<div class="voyageurs-content__item-left">
<p>Bébés</p>
</div>
<div class="voyageurs-content__item-right">
<input type="text" class="voyageurs-choix" disabled name="voyageur_bebes" id="voyageur-bebes" value="0">
</div>
</div>
</div>
</div>
<div class="search-box__btn">
<button type="submit" id="search-form-submit">Search
</button>
</div>
</form>
https://stackoverflow.com/questions/71650129
复制相似问题