Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何引用复选框数组名称值?_Javascript_Jquery_Checkbox_Multidimensional Array_Html Select - Fatal编程技术网

Javascript 如何引用复选框数组名称值?

Javascript 如何引用复选框数组名称值?,javascript,jquery,checkbox,multidimensional-array,html-select,Javascript,Jquery,Checkbox,Multidimensional Array,Html Select,我有一系列的复选框和相关的选择列表。如果选中该复选框,我需要获取相应选择选项的值,然后更改总数,但我似乎无法引用该值。以下是HTML代码的简化版本: <table> <tr> <td> <input type="checkbox" name="checkboxCK[]" id="checkboxAR1" class="check" /> </td> <td>

我有一系列的复选框和相关的选择列表。如果选中该复选框,我需要获取相应选择选项的值,然后更改总数,但我似乎无法引用该值。以下是HTML代码的简化版本:

<table>
<tr>
     <td>
         <input type="checkbox" name="checkboxCK[]" id="checkboxAR1" class="check" />
     </td>
     <td>
         <select name="addonR[]" class="select-colour">
            <option value="50">1 ($50)</option>
            <option value="100">2 ($100)</option>
            <option value="150">3 ($150)</option>
            <option value="200">4 ($200)</option>
         </select>
     </td>
</tr>
<tr>
     <td>
         <input type="checkbox" name="checkboxCK[]" id="checkboxAR2" class="check" />
     </td>
     <td>
         <select name="addonR[]" class="select-colour">
            <option value="50">1 ($50)</option>
            <option value="100">2 ($100)</option>
            <option value="150">3 ($150)</option>
            <option value="200">4 ($200)</option>
         </select>
     </td>
</tr>    <tr>
     <td>
         <input type="checkbox" name="checkboxCK[]" id="checkboxAR3" class="check" />
     </td>
     <td>
         <select name="addonR[]" class="select-colour">
            <option value="50">1 ($50)</option>
            <option value="100">2 ($100)</option>
            <option value="150">3 ($150)</option>
            <option value="200">4 ($200)</option>
         </select>
     </td>
</tr>
<table>
$<span id="theTotalAmount">150</span>

1 ($50)
2 ($100)
3 ($150)
4 ($200)
1 ($50)
2 ($100)
3 ($150)
4 ($200)
1 ($50)
2 ($100)
3 ($150)
4 ($200)
$150
以及javascript代码:

$("input.check:checkbox").click(function(){

//run through allcheckboxes that are checked and pull corresponding select option value     
for (var i = 0; i < document.getElementsByName('checkboxCK[]').length; i++) 
{
    //get the value of the selected option
    var s = document.getElementsByName('addonR['+i+']');
    var theAmount = s.options[s.selectedIndex].value;
    console.log(theAmount);

    //check the checkbox is checked and if so add the corresponding select value
    if(document.getElementsByName('checkboxCK['+i+']').checked)
    {
        totalCost = totalCost+document.getElementsByName('addonR['+i+']').value;
    }
}

//rewrite the html for total amount
document.getElementById("theTotalAmount").innerHTML = totalCost;

});
$(“输入.检查:复选框”)。单击(函数(){
//运行所有选中的复选框并拉取相应的选择选项值
对于(var i=0;i
我正在努力引用s变量。。它一直没有定义。有人知道为什么吗


还是有更好的方法来实现我的目标?

在HTML中,复选框的名称在方括号之间没有数字。你不应该把它和你的JavaScript放在一起


document.getElementsByName('addonR[])
将为您提供具有该名称的所有元素的(类似数组的)HTML集合。

复选框的名称在HTML中的方括号之间没有数字。你不应该把它和你的JavaScript放在一起

document.getElementsByName('addonR[])
将为您提供一个(类似数组的)HTML集合,其中包含具有该名称的所有元素。

Write

var s = document.getElementsByName('addonR[]')[i];


我面临的问题是引用此值。我不得不接受韦罗的回答,因为它让我解决了我的问题。我面临的问题是引用这个值。我不得不接受韦罗的回答,因为它让我解决了我的问题。