PluginProbe
WP Directory Kit / 1.3.2
WP Directory Kit v1.3.2
1.5.6 1.5.5 1.5.4 1.5.3 trunk 1.1.0 1.1.6 1.1.8 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.8 1.4.0 1.4.1 All 35 releases
wpdirectorykit / public / js / wdk-dependfields-submitform.js

wdk-dependfields-submitform.js in WP Directory Kit 1.3.2, at public/js/wdk-dependfields-submitform.js

52 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 jQuery(document).ready(function($){
2 wdk_dependfields_submit_form('form.form_listing');
3 wdk_dependfields_submit_form_query('form.form_listing');
4 });
5
6 const wdk_dependfields_submit_form = ($selector = null, parent_field_selector = '.wdk-field-edit') => {
7 var $ = jQuery;
8 var el_category,el_form, class_hide, hide_fields;
9 class_hide = 'wdk-depend-hidden';
10 el_form = jQuery($selector);
11 el_category = el_form.find('*[name="category_id"]');
12
13 el_category.on('change', function(){
14 hide_fields(el_category);
15 });
16
17 hide_fields = (el) => {
18 var value = (jQuery(el).parent().hasClass('wdk_multi_treefield_dropdown_container')) ? jQuery(el).val() : el_category.find('option:selected').attr('value');
19
20 if(el_category.is('input')){
21 value = el_category.val();
22 }
23
24 el_form.find('.'+class_hide).removeClass(class_hide)
25 if(value && typeof script_dependfields_submitform.hidden_fields[value] != 'undefined') {
26 el_form.find('*[name *="field_"]').each(function(){
27 var field_id = $(this).attr('name').substr(6);
28 if(script_dependfields_submitform.hidden_fields[value].indexOf(','+field_id+',') != -1) {
29 $(this).closest(parent_field_selector).addClass(class_hide);
30 }
31 });
32 }
33 };
34
35 /* init hide fields */
36 hide_fields(el_category);
37 }
38
39 /* depend fields, remove required and data from hidden based on depend fields */
40 const wdk_dependfields_submit_form_query = ($selector = null, parent_field_selector = '.wdk-field-edit') => {
41 var $ = jQuery;
42 var el_form, class_hide, hide_fields;
43 class_hide = 'wdk-depend-hidden';
44 el_form = jQuery($selector);
45
46 el_form.on('submit', function(e){
47 el_form.find('.'+class_hide).find('input:not([type="checkbox"]):not([name="element_id"]):not([type="radio"]):not([type="hidden"]),textarea,select').val('').removeAttr('required');
48 el_form.find('.'+class_hide).find('select').val(jQuery(this).find('option:first').val()).removeAttr('required');
49 el_form.find('.'+class_hide).find('input[type="checkbox"]').prop('checked', false).removeAttr('required');
50
51 })
52 }