使用索引从复选框中提取值
Extract value from checkbox using index
我正在制作一个带有几个复选框的民意调查页面。我有一个数组results
,它统计每个复选框被点击的次数。
<h2>What's your favorite pet</h2>
<form>
<input type="checkbox" name="cb[0]" value="Cats"/>
<input type="checkbox" name="cb[1]" value="Dogs"/>
<input type="checkbox" name="cb[2]" value="Spiders"/>
<input type="checkbox" name="cb[3]" value="Whales"/>
</form>
我还有一个"显示结果"按钮,它显示一个带有字符串变量的警报窗口,我已经硬编码了要与结果连接的选项(猫、狗…)。这里有一个例子:
var myResults = "Cats "+results[0] + " Dogs "+results[1] + " Spiders "+results[2];
我的问题是,如果我想向轮询添加一个新选项,我还必须手动将其添加到myResults
字符串中。我怎样才能自动做到这一点?
我试了几件事,但都做不到。它们在这里:
var allCheckboxes = document.getElementsByTagName("input"); //I only have checkboxes on the page
var resultsReady="";
for(var i=0;i<allCheckboxes.length;i++){
var currentVal = $("input")[i].val(); //this expression is false for some reason
resultsReady.concat(currentVal,results[i]," ");}
为什么$("input")[2].val();
不起作用?我知道它不起作用,因为我隔离了它,它没有起作用。
我也试过$("input").get(i).val();
,但它不起作用,我可以理解为什么,但我不知道如何修复它。
我最后尝试的是$("input['cb[i]']")
,但我不知道这个表达式是否有效。
您要查找的是eq()
:
$("input").eq(i).val();
// or
$("input:eq(" + i + ")").val();
您可以将其用于,但它是value
而不是val()
,因为在这种情况下您将获得DOM元素。
$("input")[i].value;
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 使用$.ajax发布多个复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 正在从jstree中提取选定的复选框
- 如何从javascript中的复选框中提取内容
- 使用 Javascript 提取复选框的值
- 从动态复选框的父级中提取类名
- Javascript 数据仅提取数组的第一项,该数组放入使用 iCheck 复选框输入的数据名称字段中
- 从PHP中提取的目录列表中的jQuery prop父复选框
- 提取复选框值并在不发送表单的情况下发送
- 从html表单中提取带有值和id的UI元素,忽略null元素和FALSE复选框
- 如何遍历Div并提取单个复选框值
- 使用索引从复选框中提取值