我有四个复选框(加法、减法、乘法和除法),如下所示:
<input class="operation" type="checkbox" id="chkAdd" value="addition"><label>Addition</label>
我正在尝试创建一个函数,该函数将创建一个数组,其中包含按下按钮时选中的所有复选框的值。最终结果是将数组传递给另一个函数,该函数将使用选定的数学运算符创建数学问题。我看过几个类似的帖子,但仍然无法弄清楚为什么这不起作用。这是我到目前为止所拥有的:
function buttonPushed() {
var checkedBoxes = [];
$(document).ready(function() {
$(".theButton").click(function(event) {
event.preventDefault();
checkedBoxes = $(".operation input:checkbox:checked").map(function() {
checkedBoxes.push($(this).attr('val'));
});
});
});
alert(checkedBoxes);
}
这alert
只是为了查看该功能是否正常工作。目前,当所有四个复选框都被选中时,我点击按钮,alert
窗口出现,但它是空的。我尝试在<script>
标签中调用该函数,并使用按钮的onclick="function()"
. 我现在只是在转动我的轮子。我将不胜感激任何帮助。
jQuerymap()
不返回本机数组。你必须使用get()
with map()
。尝试以下方式:
function buttonPushed() {
var checkedBoxes = $("input.operation:checked").map(function(){
return $(this).val();
}).get(); // you have use get() here
alert(checkedBoxes);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="operation" type="checkbox" id="chkAdd" value="addition"><label>Addition</label>
<input class="operation" type="checkbox" id="chkAdd" value="subtraction"><label>Subtraction</label>
<input class="operation" type="checkbox" id="chkAdd" value="multiplication"><label>Multiplication</label>
<input class="operation" type="checkbox" id="chkAdd" value="division"><label>Division</label>
<br/><br/>
<input type="button" class="theButton" onclick="buttonPushed()" value="Get Value"/>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句