<p class="shu_ck"> <em class="cc_sub" data-id="71842887">-</em> <input type="number" id="gnum" data-id="71842887" class="gnum c_pt" min="1" value="1"/> <em class="cc_add" data-id="71842887">+</em> </p><p class="shu_ck"> <em class="cc_sub" data-id="71842887">-</em> <input type="number" id="gnum" data-id="71842887" class="gnum c_pt" min="1" value="1"/> <em class="cc_add" data-id="71842887">+</em> </p帮我用上面列子做一个完整PHP的ajx点击回调事件,实现加减计算总和,加一个复选框选中显示的p标签盒子
时间: 2023-10-07 15:04:01 浏览: 51
好的,以下是一个实现您描述的功能的PHP AJAX回调事件的示例代码:
HTML代码:
```
<p class="shu_ck">
<em class="cc_sub" data-id="71842887">-</em>
<input type="number" id="gnum1" data-id="71842887" class="gnum c_pt" min="1" value="1"/>
<em class="cc_add" data-id="71842887">+</em>
</p>
<p class="shu_ck">
<em class="cc_sub" data-id="71842888">-</em>
<input type="number" id="gnum2" data-id="71842888" class="gnum c_pt" min="1" value="1"/>
<em class="cc_add" data-id="71842888">+</em>
</p>
<input type="checkbox" id="checkbox" onclick="calculateTotal()" />
<p id="total"></p>
```
JavaScript代码:
```
function calculateTotal() {
var total = 0;
if (document.getElementById("checkbox").checked) {
var gnum1 = document.getElementById("gnum1").value;
var gnum2 = document.getElementById("gnum2").value;
total = parseInt(gnum1) + parseInt(gnum2);
}
document.getElementById("total").innerHTML = "总和:" + total;
}
$(document).ready(function() {
$(".cc_add").click(function() {
var input = $(this).prev();
var oldValue = parseInt(input.val());
if (oldValue < parseInt(input.attr("max"))) {
var newVal = oldValue + 1;
input.val(newVal);
}
calculateTotal();
});
$(".cc_sub").click(function() {
var input = $(this).next();
var oldValue = parseInt(input.val());
if (oldValue > parseInt(input.attr("min"))) {
var newVal = oldValue - 1;
input.val(newVal);
}
calculateTotal();
});
});
```
PHP代码:
```
<?php
if(isset($_POST['gnum1']) && isset($_POST['gnum2'])) {
$gnum1 = $_POST['gnum1'];
$gnum2 = $_POST['gnum2'];
$total = $gnum1 + $gnum2;
echo $total;
}
?>
```
AJAX代码:
```
function calculateTotal() {
var gnum1 = document.getElementById("gnum1").value;
var gnum2 = document.getElementById("gnum2").value;
var xhr = new XMLHttpRequest();
xhr.open("POST", "calculate.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var total = xhr.responseText;
document.getElementById("total").innerHTML = "总和:" + total;
}
};
xhr.send("gnum1=" + gnum1 + "&gnum2=" + gnum2);
}
```
在上面的代码中,我们使用jQuery来捕获“+”和“-”按钮的单击事件,并使用JavaScript计算总和。当复选框被选中时,我们使用AJAX将输入值发送到PHP脚本中进行处理,并在回调函数中将结果显示在页面中。