Advertisement
Guest User

GravityForms Survey/Likert Style

a guest
Mar 29th, 2012
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // add support for Gravity Forms Likert/Survey style radio fields
  2. // added support for checkboxes
  3. // http://www.gravityforms.com
  4. // http://www.rocketgenius.com/survery-style-multiple-choice-fields-with-gravity-forms/
  5.  
  6.     jQuery(document).ready(function() {
  7.    
  8.         jQuery(window).load(function() {          
  9.             if(jQuery(".gf_likert ul.gfield_radio li input").is(":checked"))  {
  10.                     jQuery(".gf_likert ul.gfield_radio li input:checked").parent().addClass("mychoice");
  11.             }
  12.             if(jQuery(".gf_likert ul.gfield_checkbox li input").is(":checked"))  {
  13.                     jQuery(".gf_likert ul.gfield_checkbox li input:checked").parent().addClass("mychoice");
  14.             }
  15.         });
  16.  
  17.         // add some extra classes and markup to make our likert-style radio/checkbox choices
  18.          jQuery(".gf_likert ul.gfield_radio li:first-child").addClass("likert-first");
  19.          jQuery(".gf_likert ul.gfield_checkbox li:first-child").addClass("likert-first");
  20.          jQuery(".gf_likert ul.gfield_radio li:last-child").addClass("likert-last");
  21.          jQuery(".gf_likert ul.gfield_checkbox li:last-child").addClass("likert-last");
  22.          jQuery(".gf_likert ul.gfield_radio li input").addClass("likert-choice");
  23.          jQuery(".gf_likert ul.gfield_checkbox li input").addClass("likert-choice");
  24.          jQuery(".gf_likert ul.gfield_radio li label").wrap("<div class='likert-label'></div>");
  25.          jQuery(".gf_likert ul.gfield_checkbox li label").wrap("<div class='likert-label'></div>");
  26.  
  27.          // add a hover state
  28.          jQuery(".gf_likert ul.gfield_radio li").hover(function(){
  29.             jQuery(this).addClass("likert-hover");
  30.         }, function(){
  31.             jQuery(this).removeClass("likert-hover");
  32.         });
  33.          jQuery(".gf_likert ul.gfield_checkbox li").hover(function(){
  34.             jQuery(this).addClass("likert-hover");
  35.         }, function(){
  36.             jQuery(this).removeClass("likert-hover");
  37.         });
  38.        
  39.         // add a selected class to the parent list item
  40.         jQuery("ul.gfield_radio .likert-choice").change(function() {          
  41.             if(jQuery(this).is(":checked"))  {
  42.                     jQuery(this).parent().parent().parent().find(".mychoice").removeClass("mychoice");
  43.                     jQuery(this).parent().addClass("mychoice");
  44.             }
  45.         });
  46.          jQuery("ul.gfield_checkbox .likert-choice").change(function() {          
  47.             if(jQuery(this).is(":checked"))  {
  48.                     jQuery(this).parent().addClass("mychoice");
  49.             }
  50.             else {
  51.                 jQuery(this).parent().removeClass("mychoice");
  52.             }
  53.         });
  54.  
  55.     });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement