Reputation: 21
nested loop for checkbox values which compared with input form & saved form values which in json format. And how to avoid duplicates in checkbox group
var form_fields = {{ i.form_field|safe }};
var save_for_details = {{ i.saved_form_details|safe }};
if(form_fields[i].type=='checkbox-group' || form_fields[i].type=='radio-group' ){
for(j=0;j<form_fields[i].values.length;j++){
for(k=0;k<save_for_details.length;k++){
if(form_fields[i].name+"[]" == save_for_details[k].name){
if(save_for_details[k].value== j){
var checked = "checked";
}else{
var checked = "";
}
html += '<input class="" style="width: 25px !important;" type="'+fields+'" id="'+form_fields[i].values[j].value+'" '+checked+' name="'+form_fields[i].name+'[]" value="'+j+'"><label>'+form_fields[i].values[j].value+'</label>';
}
}
}
var save_for_details = [{"name":"number-roll","value":"657567"},{"name":"inquiry-year","value":"2018-2019"},{"name":"inquiryfor[]","value":"0"},{"name":"studentname","value":"gff"},{"name":"middlename","value":"df"},{"name":"lastname","value":"ghghy"},{"name":"gender","value":"Female"},{"name":"dob","value":"2019-09-25"},{"name":"classname","value":"Nursery"},{"name":"parentsname","value":"3434"},{"name":"chlidrelation","value":"Father"},{"name":"address","value":"gfgf"},{"name":"street","value":"gfgf"},{"name":"city","value":"hgh"},{"name":"state","value":"hj"},{"name":"pincode","value":"78787"},{"name":"country","value":"kjk"},{"name":"phone","value":"5458490854"},{"name":"email","value":"[email protected]"},{"name":"approach[]","value":"2"},{"name":"approach[]","value":"6"},{"name":"approach[]","value":"8"},];
checked & uchecked need to display only once
Upvotes: 2
Views: 104
Reputation: 21
Moved the input type out of the inner loop and then add the checked to the html element like as shown below
html += '<input class="" style="width: 25px !important;" type="'+fields+'" id="'+form_fields[i].values[j].value+'" ';
for(k=0;k<save_for_details.length;k++){
if(form_fields[i].name+"[]" == save_for_details[k].name){
if(save_for_details[k].value== j){
var checked = "checked";
html += checked;
}
}
}
html += ' name="'+form_fields[i].name+'[]" value="'+j+'"><label>'+form_fields[i].values[j].value+'</label>';
Upvotes: 0