SUNDEK custom post type widget JS
Script portion of custom widget for SUNDEK Testimonials
by mroncetwice
HTML
<div id="widget-70_wpb_widget-2" class="widget open"> <div class="widget-top">
<div class="widget-title-action">
<a class="widget-action hide-if-no-js" href="#available-widgets"></a>
<a class="widget-control-edit hide-if-js" href="/wp-admin/widgets.php?editwidget=wpb_widget-2&sidebar=sidebar1&key=4">
<span class="edit">Edit</span>
<span class="add">Add</span>
<span class="screen-reader-text">Testimonials</span>
</a>
</div>
<div class="widget-title ui-sortable-handle"><h4>Testimonials<span class="in-widget-title">: New Testimonial Widget Title</span></h4></div>
</div>
<div class="widget-inside" style="display: block;">
<form method="post">
<div class="widget-content">
<label for="widget-wpb_widget-2-title">Title:</label>
<input class="" id="widget-wpb_widget-2-title" name="widget-wpb_widget[2][title]" value="New Testimonial Widget Title">
<select class="ajax-option ajax-show" name="display_type">
<option data-next="testimonial_origin_select" value="none" selected="selected">Select display type</option>
<option data-next="testimonial_origin_select" value="rotate">Multi-Testimonial</option>
<option data-next="testimonial_origin_select" value="single">Single Testimonial</option>
</select>
<select class="ajax-option ajax-hide" id="widget-wpb_widget-2-type" name="testimonial_origin_select">
<option value="none">Select testimonial origin</option>
<option data-next="dealer-testimonials_select" value="dealer-testimonials">Dealer Testimonials</option>
<option data-next="customer-testimonials_select" value="customer-testimonials">Customer Testimonials</option>
</select>
<select class="ajax-option ajax-hide" name="dealer-testimonials_select">
<option value="none">Select a testimonial</option>
<option value="8358">Jimminy Crickett, SUNDEKER</option>
<option value="8318">Armando H., Dealer...
CSS
.ajax-option {}
.ajax-hide { display:none; }
.widget-liquid-right .widget, .inactive-sidebar .widget, .widget-liquid-right .sidebar-description {
overflow: visible !important;
}
.widget {
margin: 0 auto 10px;
position: relative;
box-sizing: border-box;
}
.widget, .wp-full-overlay-sidebar {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
.menu-item-handle, .widget .widget-top {
background: #fafafa;
color: #23282d;
}
.widgets-holder-wrap .widget-inside {
border-top: none;
padding: 1px 15px 15px;
line-height: 16px;
}
.widget-inside {
background: #fff;
}
input, select {
margin: 1px;
padding: 3px 5px;
}
input, select, textarea {
font-size: 14px;
-webkit-border-radius: 0;
border-radius: 0;
}
button, input, select, textarea {
font-family: inherit;
font-size: inherit;
font-weight: inherit;
}
input, textarea {
box-sizing: border-box;
}
JavaScript
$('body').find('.widget .ajax-option').on('change', function(){
//if ( jQ(this).nextAll().hasClass('ajax-hide').is(':visible').length ){
//$_nextvis = $(this).nextAll('.ajax-hide');
//if ($_nextvis.is(':visible')){
//$_nextvis.hide();
//}
$(this).nextAll('.ajax-hide').hide().children().attr('selected','none');
//};
/*
var $_switch = 'next';
var $_items = jQ(this).children();
var $_same = $_items.length == $_items.filter(function(i) {
return jQ(this).data('next') == $_items.eq(i-1).data('next');
}).length;
if ( $_same == true ){
$_switch = 'stay';
}
*/
if ( $(this).val() !== 'none' ){
$_next = $('body').find('.widget .ajax-option[name="'+$(this).find(':selected').data('next')+'"]');
/*if ( $_switch == 'stay' ){
}*/
console.log();
$_next.show();
}
});