使用Jquery从复选框值中选择数组

时间:2014-08-20 15:21:59

标签: javascript jquery

我的复选框设置为checked

<input type="checkbox" value="24hrs" name="timeformat[]" id="isCheckedFormat" checked>

<select class="form-control" name="Mon1" id="mon1"></select>

我尝试做一个JQuery,如果它被检查,它会使用一个具有特定值的数组,如果它没有被检查,而不是使用不同的数组值。

if ($('#isCheckedFormat').is(':checked')true){ 
    var vals = [1,2,3,4,5];           
}else{
     var vals = ['a','b','c','d','e'];    
 }

然后填充选择字段:

for(var i = 0; i<vals.length; i++) {
$('#mon1').append('<option val="'+vals[i]+'">'+vals[i]+'</option>'); 
}

目前“选择”选项&#39;不会被数组vals

中的任何值填充

JSFiddle

2 个答案:

答案 0 :(得分:3)

if语句中有一个类型。使用方法:

if($('#isCheckedFormat').is(':checked'))

答案 1 :(得分:1)

请注意vals数组的范围。 见:http://jsfiddle.net/52jw5Lpv/7/

您遇到问题,因为您在if语句中定义了数组,这意味着它不存在于其外部。请参阅我的链接以获取修复。请注意,数组/ var已在 if语句之前定义

另外 - 请注意,在初始加载时,值目前尚未反映 - 因此您需要对其进行排序。 此外 - 多次检查/取消选中将不断附加值,因此需要修复。 (猜猜这些是您应该能够分类的单独问题)