github issue #9 - strikethrough remains on tab change

This commit is contained in:
Oliver Gorwits
2012-02-19 18:03:06 +00:00
parent 1e2e36fa84
commit db77376422
2 changed files with 30 additions and 20 deletions

View File

@@ -64,7 +64,7 @@ function do_search (event, tab) {
);
}
inner_view_processing();
inner_view_processing(tab);
}
);
}

View File

@@ -1,30 +1,40 @@
// this is called by do_search to support local code
function inner_view_processing() {}
// used by the tabbing interface to make sure the correct
// ajax content is loaded
var path = 'search';
$(document).ready(function() {
// highlight active search filters in green.
// strikethrough the navbar search if using device_form instead.
// fields in the Device Search Options form (Device tab)
var d_inputs = $("#device_form .clearfix input").not('[type="checkbox"]')
.add("#device_form .clearfix select");
var d_inputs = $("#device_form .clearfix input").not('[type="checkbox"]')
.add("#device_form .clearfix select");
function device_form_state(e) {
if (e.is('[value!=""]')) {
e.parent(".clearfix").addClass('success');
$('#nq').css('text-decoration', 'line-through');
}
else {
e.parent(".clearfix").removeClass('success');
if (! d_inputs.is('[value!=""]') ) {
$('#nq').css('text-decoration', 'none');
}
// if any field in Device Search Options has content, highlight in green
// and strikethrough the navbar search
function device_form_state(e) {
if (e.is('[value!=""]')) {
e.parent(".clearfix").addClass('success');
$('#nq').css('text-decoration', 'line-through');
}
else {
e.parent(".clearfix").removeClass('success');
if (! d_inputs.is('[value!=""]') ) {
$('#nq').css('text-decoration', 'none');
}
}
}
// this is called by do_search to support local code
// here, when tab changes need to strike/unstrike the navbar search
function inner_view_processing(tab) {
if (tab == 'device') {
d_inputs.each(function() {device_form_state($(this))});
}
else {
$('#nq').css('text-decoration', 'none');
}
}
// on load, check initial Device Search Options form state,
// and on each change to the form fields
$(document).ready(function() {
d_inputs.each(function() {device_form_state($(this))});
d_inputs.change(function() {device_form_state($(this))});
});