gpt4 book ai didi

div.text 的 javascript/jquery onChange 函数更新表单隐藏字段值

转载 作者:行者123 更新时间:2023-12-03 08:31:45 25 4
gpt4 key购买 nike

我的经典 ASP 购物车页面在表单中使用 div 作为数量选择器:

<form action="/update-cart/" method="post">
<div class="quantity-selector detail-info-entry">
<div class="detail-info-entry-title">Quantity</div>
<div class="entry number-minus">&nbsp;</div>
<div class="entry number">1</div>
<div class="entry number-plus">&nbsp;</div>
</div>
</div>
</form>

当单击 - 或 + 时,1 将按预期更新。执行此操作的代码如下:

$('.number-plus').on('click', function(){
var divUpd = $(this).parent().find('.number'), newVal = parseInt(divUpd.text(), 10)+1;
divUpd.text(newVal);
});

$('.number-minus').on('click', function(){
var divUpd = $(this).parent().find('.number'), newVal = parseInt(divUpd.text(), 10)-1;
if(newVal>=1) divUpd.text(newVal);
});

提交表单时,发布上面带有“number”类的 div 内容的最简单方法是什么?我使用:

<input type="hidden" id="Num" name="Num" value="" />

或者另一种方式。无论哪种方式,如何才能轻松完成此操作,因为我无法使用变量“newVal”来填充隐藏字段。

谢谢

最佳答案

该演示有 2 个值得注意的功能。

  1. 以下内容是使用 HTML 和内联 JS 完成的 (e.g. onchange='...)
    • <input> .number-minusnumber-plus
    • <output> .number显示 .number-minus 的总和和.number-plus
  2. 根据要求,总和 .number-minus.number-plus存储在<input [hidden]>中命名.secret 。该值源自<output>通过使用 jQuery 来实现值(value)(在我看来是过度杀伤力)。 `

$(function() {
$('#pos, #neg').on('change', function(event) {
var cnt = $('#counter').val();
$('#secret').val(cnt);
console.log('Secret: ' + secret.value);
});
});
<!doctype html>
<html>

<head>
<meta charset="utf-8">
<title>javascript/jquery onChange function for div.text to update form hidden field value</title>
<meta name="description" content="SO33312004">
<style>
.detail-info-entry-title,
#pos,
#neg {
font-variant: small-caps;
}
.entry {
padding: 3px;
margin: 0 5px;
width: 48px;
line-height: 1.6;
border: 2px solid #00E;
border-radius: 8px;
display: table-cell;
}
#counter {
font-weight: 900;
margin: auto;
display: table-cell;
height: 24px;
}
#form33312004 {
color: #0CF;
background: hsla(180, 100%, 10%, 1);
width: 33%;
height: 30%;
text-align: center;
vertical-align: middle;
display: table-row;
}
.field {
width: 50px;
display: table-cell;
}
footer {
font-size: .75em;
text-align: center;
}
</style>
</head>
<!--http://stackoverflow.com/questions/33312004/javascript-jquery-onchange-function-for-div-text-to-update-form-hidden-field-val-->

<body>
<form id="form33312004" submit="return false" oninput="counter.value = parseInt(pos.value, 10) - parseInt(neg.value, 10)">
<fieldset class="quantity-selector detail-info-entry">
<legend class="detail-info-entry-title">Quantity</legend>
<div class="field">
<input type="number" id="pos" min="0" max="999" step="any" value="0" class="entry number-plus">
<label for="pos">Positive</label>
</div>
<output for='pos neg' id="counter" name="counter" class="entry number">0</output>
<div class="field">
<input type="number" id="neg" min="0" max="999" step="any" value="0" class="entry number-minus">
<label for="neg">Negative</label>
</div>
</fieldset>
<input id="secret" type="hidden">
</form>
<div class="field">
<footer>Observe the hidden input's value thru
<br/>the console. (<b>F12</b> then the <b>Console</b> tab).</footer>
<script sr="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js"></script>

</body>

</html>

关于div.text 的 javascript/jquery onChange 函数更新表单隐藏字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33312004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com