使用javascript逗号分隔变量在页面加载时重新填充表单复选框值
我有一个jquery变量,它存储一个以逗号分隔的id名称列表。 我需要帮助在jquery中编写一些内容来分隔该变量,并在页面加载时使用这些值来填充表单复选框值。
所以我的jquery变量是$ storedFormValues,它是逗号分隔的值列表“checkbox1,checkbox等”。
和我的forms
任何帮助将不胜感激!
这应该这样做:
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
)命名它们,否则您可能遇到checkbox1
与checkbox1
匹配的问题。