Php 复选框将输入添加到文本框总选择和总选择成本 var itemsAdded=Array(); 函数编号(文本){ var i=itemsAdded.indexOf(文本) 如果(i>=0){ 接头(i,1); }否则{ 项目添加。推送(文本); } document.getElementById(“结果”).value=itemsAdded.join(“”); } $(函数(){ 对于(i=0;i

Php 复选框将输入添加到文本框总选择和总选择成本 var itemsAdded=Array(); 函数编号(文本){ var i=itemsAdded.indexOf(文本) 如果(i>=0){ 接头(i,1); }否则{ 项目添加。推送(文本); } document.getElementById(“结果”).value=itemsAdded.join(“”); } $(函数(){ 对于(i=0;i,php,javascript,html,Php,Javascript,Html,我认为这可以满足您的所有要求(注意,我也对代码进行了大量清理,我鼓励您查看更多关于jQuery的信息,因为您似乎正在使用JavaScript做一些与jQuery相同的事情) 每次单击复选框时,它都会运行函数calculateCheckout(),这将查找所有选中的复选框,并计算选定的总数和总价 我将价格存储在一个名为data price的属性中。在我的JSFIDLE中,它只取增量值并乘以2,但在一个工作示例中,它应该是任何数字 现在,该解决方案将使用类产品复选框检查整个正文中的任何输入。只要您

我认为这可以满足您的所有要求(注意,我也对代码进行了大量清理,我鼓励您查看更多关于jQuery的信息,因为您似乎正在使用JavaScript做一些与jQuery相同的事情)

  • 每次单击复选框时,它都会运行函数
    calculateCheckout()
    ,这将查找所有选中的复选框,并计算选定的总数和总价
  • 我将价格存储在一个名为
    data price
    的属性中。在我的JSFIDLE中,它只取增量值并乘以2,但在一个工作示例中,它应该是任何数字
  • 现在,该解决方案将使用类
    产品复选框
    检查整个正文中的任何输入。只要您的复选框可以使用该类,那么该解决方案就可以工作。我添加了一个示例产品,让您了解如何正确使用复选框

JS

<script>
var itemsAdded = Array();

function moveNumbers(text) { 
var i = itemsAdded.indexOf(text)
if ( i >= 0) { 
   itemsAdded.splice(i,1); 
 } else {
   itemsAdded.push(text);
 }
 document.getElementById("result").value=itemsAdded.join(" "); 
 } 
 $(function() {
 for (i=0;i<10;i++) {
 console.log(i);
 $("body").append("<input type='checkbox' name='add' value='" + i + "'   onclick='moveNumbers(this.value)'/>          Checkbox" + i + "<br/>");
 }
 });



 </script>
 <textarea id="result" cols="12" rows="6" readonly>
 </textarea>
 <tr>

 <?php
 $path = "photos/";
 $dir_handle = @opendir($path) or die("Unable to open folder");
 echo "<table height='500px'width='800px'align='center'border='1'>";
 echo "<tr>";
 while (false !== ($file = readdir($dir_handle))) {

 if($file == "index.php")
 continue;
 if($file == ".")
 continue;
 if($file == "..")
 continue;
 {
echo ($x % 6 == 0) ? "</tr><tr>" : "";
echo "<td><input type='checkbox' name='add' value='$file' onclick='moveNumbers(this.value)'>
<img src='photos/$file'alt='$file' style='height:auto;width:85%;'alt='$file'>
<br>
$file
</td>";
$x++;
}
}
echo "</tr>";
echo "</table>";
closedir($dir_handle);
?>
var itemsAdded=[];
函数calculateCheckout(){
var checked_box=$(“input.product check:checked”);//查找所有选中的复选框
var项目合计=0;
$(“#x-names”).val(“”;//重置名称列表
选中复选框。每个(函数(){//循环遍历所有复选框
//将名称(取自复选框数据名称属性)添加到名称列表中
$(“#x-names”).val($(“#x-names”).val()+“”+$(this.attr(“数据名”));
items_total+=parseFloat($(this).val());//通过选取复选框值来迭代我们的总价
});    
//记录复选框的总长度
$(“#x-length”).val(复选框.length);
美元(“#x总计”).val(项目总计);
}
$(文档).ready(函数(){
//设置一个事件,以便在每次单击具有类的元素时调用CalculateCheck。
//有关更多信息,请参见jQuery“on”函数
$(“正文”)。在(“单击”,“输入.产品检查”,calculateCheckout);

对于(i=1;i
user1829346
这可能需要相当多的清理。你为什么循环10次,我认为这个问题不清楚。好的,干杯,我会尽我所能。选中复选框时,它会将作为图像文件的项目名称添加到文本框中(IMG_1234.jpg)。我想添加的是另一个文本框,显示选中的项目总数(1),然后是另一个文本框,显示选中的所有项目的总成本(10)。每个项目的价值可能为10美元。例如,文本框1=图像名称,文本框2=所选图像总数,文本框3=所选图像的总成本。好的,我会快速制作一些东西-顺便说一句,为什么是文本区域?我正在添加到表单中,然后通过提交按钮提交以电子邮件发送表单。这就像购买照片的订单。其他fields我有包括姓名,电子邮件地址,订单参考ID,现在试图添加多少照片选择等…很好的工作,但我上次的问题是,PHP部分的代码扫描目录的图像,然后添加自己的复选框旁边的图像显示。基本上PHP增加了复选框的飞行。因此没有硬编码复选框。所以我对带有已分配类型ID的复选框有问题,如果这样做有意义的话?您只需要更改选择器,以便它拾取事件。您的复选框在哪里生成,您可以向它们添加一个类吗?
var itemsAdded = [];

function calculateCheckout() { 
  var checked_boxes = $("input.product-check:checked"); // Find all checked checkboxes
  var items_total = 0;
  $("#x-names").val(""); // Reset the list of names
  checked_boxes.each(function() { // Loop through all of our checkboxes
    // Add the name (taken from the checkbox data-name attribute) to the list of names
    $("#x-names").val($("#x-names").val() + " " + $(this).attr("data-name")); 
    items_total += parseFloat($(this).val()); // Iterate our total price by taking the checkbox value
  });    
  // Record the total checkbox length
  $("#x-length").val(checked_boxes.length); 
  $("#x-total").val(items_total);
}

$(document).ready(function() {
  // Set an event to call calculateCheckout every time an element with class .check-move is clicked. 
  // See the jQuery 'on' function for more info
  $("body").on("click", "input.product-check", calculateCheckout);
  for (i=1;i<5;i++) {
    $("#checkboxes").append("<input type='checkbox' class='product-check' value='"+(i * 2 )+"' data-name='"+i+"' /> Checkbox" + i + "<br />");
  }
});
<div id="checkboxes"></div>
<h1>Selected Products</h1>
<textarea id="x-names"></textarea>
<h1>Total Selected</h1>
<input id="x-length" />
<h1>Total Price</h1>
<input id="x-total" />
<input type="checkbox" value="745" data-name="samgs4" class="product-check" /> Galaxy S4