如何在Javascript中从3个元素中获取一个元素

如何在Javascript中从3个元素中获取一个元素,javascript,php,html,record,Javascript,Php,Html,Record,我的支付[]价值有三个要素: <td><input type="checkbox" name="pay[]" value=" <?php echo $invoiceArr[$record_count].";"; echo $TotalArr[$record_count].";"; echo $amount_dueA

我的支付[]价值有三个要素:

<td><input type="checkbox" name="pay[]"  value="
               <?php 
                     echo $invoiceArr[$record_count].";";
                     echo $TotalArr[$record_count].";";
                     echo $amount_dueArr[$record_count];
                  ?>
                  "  onClick="checkTotal()"/>
           </td>
仅在变量元素内部: 可能是什么

   var elements = document.getElementsByName("pay[][2]");


    function checkTotal() 
 {
       var sum = 0;
       var elements = document.getElementsByName("pay[]");
 }
可能吗? 我说清楚了吗

谢谢大家

完整的javascript函数

function checkTotal() {
                            document.payform.totalNS.value = '';

                            var sum = 0;
                            var pay_amt_no_id = document.payform.pay_amt_noDocID_textbox.value;
                            //var elements = document.getElementsByName("pay[]");

                            var amount_due = <?php echo $amount_dueArr[$record_count]; ?>, // no quotes
                            var  sum = 0, // using 1 var statement for declarations.
                            var  elements = [];
                            var  elements = document.getElementsByName("pay[]").value.split(";");
                           // pay[] is invoice_num;total;amount_due.
                           return elements.length===3 && amount_due == elements[2]; // counting on 
                          // string to num conversion here



                            document.payform.pay_amt_noDocID_checkbox.value = pay_amt_no_id;

                            document.payform.totalNS.value = sum;
                            for (i=0;i < elements.length;i++) {
                                  if (elements[i].checked) {
                                 sum = sum + +elements[i].value;

                          }
                        }
函数checkTotal(){
document.payform.totalNS.value='';
var总和=0;
var pay\u amt\u no\u id=document.payform.pay\u amt\u noDocID\u textbox.value;
//var elements=document.getElementsByName(“pay[]);
var amount_due=,//无报价
var sum=0,//对声明使用1个var语句。
var元素=[];
var elements=document.getElementsByName(“支付[]”).value.split(“;”);
//pay[]是发票金额;总计;应付金额。
返回元素。长度===3&&amount\u到期==元素[2];//正在计算
//这里是字符串到num的转换
document.payform.pay\u amt\u noDocID\u checkbox.value=pay\u amt\u no\u id;
document.payform.totalNS.value=总和;
对于(i=0;i
在进行操作时,可以将php和Javascript混合使用。诀窍是要始终记住,从Javascript代码的角度来看,php代码的输出将是一个常量

Javascript常量需要正确编码,对字符串适当引用,但不能对数字引用,等等

我通常使用我的服务器端语言来创建JavaScript函数调用的参数。在一个JavaScript的中间创建服务器端内容可能会让人困惑,导致代码易碎。

请注意,您的问题是,
我在pay[]的值中有三个元素,不完全是这样。在Javascript/DOM land中,您将pay[]设置为包含分号的单个字符串。我将代码编写为:

<td><input type="checkbox" name="pay[]"  
   value="<?php echo $invoiceArr[$record_count].";".$TotalArr[$record_count].
                  ";".$amount_dueArr[$record_count]; ?>"
   onClick="checkTotal()"/>
</td>

当然,没问题

function checkTotal() 
 {
   var amount_due = <?php echo $amount_dueArr[$record_count]; ?>, // no quotes
       sum = 0, // using 1 var statement for declarations.
       elements = [];
   elements = document.getElementsByName("pay[]").value.split(";");
   // pay[] is invoice_num;total;amount_due.
   return elements.length===3 && amount_due == elements[2]; // counting on 
                                                // string to num conversion here
 }
函数checkTotal()
{
var amount_due=,//无报价
sum=0,//对声明使用1 var语句。
元素=[];
elements=document.getElementsByName(“支付[]”).value.split(“;”);
//pay[]是发票金额;总计;应付金额。
返回元素。长度===3&&amount\u到期==元素[2];//正在计算
//这里是字符串到num的转换
}

但与此解决方案不同,我建议您根据html页面顶部的Javascript变量分配php生成量。\u。将echo命令嵌入函数中间会起作用,但不是很好的样式。

在执行时混合使用php和Javascript是很好的。诀窍是始终记住php代码的ou从Javascript代码的角度来看,tput将是一个常量

Javascript常量需要正确编码,对字符串适当引用,但不能对数字引用,等等

我通常使用我的服务器端语言来创建JavaScript函数调用的参数。在一个JavaScript的中间创建服务器端内容可能会让人困惑,导致代码易碎。

请注意,您的问题是,
我在pay[]的值中有三个元素,不完全是这样。在Javascript/DOM land中,您将pay[]设置为包含分号的单个字符串。我将代码编写为:

<td><input type="checkbox" name="pay[]"  
   value="<?php echo $invoiceArr[$record_count].";".$TotalArr[$record_count].
                  ";".$amount_dueArr[$record_count]; ?>"
   onClick="checkTotal()"/>
</td>

当然,没问题

function checkTotal() 
 {
   var amount_due = <?php echo $amount_dueArr[$record_count]; ?>, // no quotes
       sum = 0, // using 1 var statement for declarations.
       elements = [];
   elements = document.getElementsByName("pay[]").value.split(";");
   // pay[] is invoice_num;total;amount_due.
   return elements.length===3 && amount_due == elements[2]; // counting on 
                                                // string to num conversion here
 }
函数checkTotal()
{
var amount_due=,//无报价
sum=0,//对声明使用1 var语句。
元素=[];
elements=document.getElementsByName(“支付[]”).value.split(“;”);
//pay[]是发票金额;总计;应付金额。
返回元素。长度===3&&amount\u到期==元素[2];//正在计算
//这里是字符串到num的转换
}

但与此解决方案不同,我建议您根据html页面顶部的Javascript变量分配php生成量。\u。将echo命令埋在函数中间会起作用,但不是很好的样式。

嗯。什么?这没有意义……不可能,或者对如何检索它没有任何想法?更像是我不知道是什么在你试图提问的时候。展示一个你试图创建的HTML示例怎么样?你混合了PHP和Javascript,没有解释如何/为什么,只是“这里有一些随机代码片段”。您需要使用firebug或其他工具进行一些调试。检查变量的值。逐步检查函数以查看发生了什么。此外,您可能不希望返回语句出现在那里,因为函数在命中返回语句时结束。嗯。什么?这没有意义…不可能,也不知道如何检索它?M或者我不知道你想问什么。展示一个你试图创建的HTML示例怎么样?你混合了PHP和Javascript,没有解释如何/为什么,只是“这里有一些随机代码片段”。您需要使用firebug或其他工具进行一些调试。请检查变量的值。单步执行函数以查看发生了什么。此外,您可能不希望返回语句出现在那里,因为函数在命中返回语句时结束。如何执行此操作?
//此处的字符串到数值转换
右侧--浮点nnumber需要显式转换。因此,请尝试…amount\u due==parseFloat(元素[2]);
返回元素。length==3&&amount\u due==parseFloat(元素[2]);
这是一个尚未工作的返回元素。length==3&&amount\u due==parseFloat(元素[2]);如何做?
//这里的字符串到num转换