使用javascript逗号分隔变量在页面加载时重新填充表单复选框值

我有一个jquery变量,它存储一个以逗号分隔的id名称列表。 我需要帮助在jquery中编写一些内容来分隔该变量,并在页面加载时使用这些值来填充表单复选框值。

所以我的jquery变量是$ storedFormValues,它是逗号分隔的值列表“checkbox1,checkbox等”。

和我的forms

Checkbox 1 Checkbox 2

任何帮助将不胜感激!

这应该这样做:

 var $storedFormValues = "checkbox3,checkbox5"; $(function() { $.each($storedFormValues.split(","), function(intIndex, objValue) { $("#" + objValue).attr("checked", "true"); }); }) 

看小提琴: http : //jsfiddle.net/xNyww/

不是jQuery,而是简单的JS:您可以使用split来分隔数组中的值: https : //developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split

我不知道csv是什么样的。 如果它只有一行,例如:

checkbox1,checkbox7,checkbox2

然后用它作为:

 var checkboxes[] = csvString.split(","); for (str in checkboxes) { $("#"+str).yourActionHere(); } 

如果它是几行(每个复选框一个),例如

 checkbox1, true checkbox2, false 

然后 :

 var checkboxes[] = csvString.split(/\r\n|\r|\n/); for (str in checkboxes) { var data = str.split(","); $("#"+data[0]).yourActionHere(data[1]); } 

现场演示

 var storedFormValues = "checkbox1, checkbox3, checkbox4"; $('#formid').children('input[id^=checkbox]').each(function() { if (storedFormValues.indexOf($(this).attr('id')) != -1) { $(this).attr('checked', 'checked'); } }); 

注意:如果您计划拥有10个以上的复选框,我建议使用前导零(ex: checkbox01 )命名它们,否则您可能遇到checkbox1checkbox1匹配的问题。