From 4ee62ae7eb11678c95d3fe0e34b31d709854a5f8 Mon Sep 17 00:00:00 2001 From: Normann Lou Date: Thu, 20 Aug 2009 01:54:39 +0000 Subject: [PATCH] ENHANCEMENT: convert SelectionGroup.js from prototype version to jQuery version git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84860 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- javascript/SelectionGroup.js | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/javascript/SelectionGroup.js b/javascript/SelectionGroup.js index 8949b4595..2508de5b9 100755 --- a/javascript/SelectionGroup.js +++ b/javascript/SelectionGroup.js @@ -1,27 +1,13 @@ (function($) { $(document).ready(function() { $('ul.SelectionGroup input.selector').livequery('click', function(){ - var prnt = this.parentNodeWithTag('ul'); - var li = this.parentNodeWithTag('li'); - var i, item, allItems = prnt.childNodes; - for(i=0;item=allItems[i];i++) if(item.tagName) { - if(item == li) { - Element.addClassName(item, 'selected') - } else { - Element.removeClassName(item, 'selected') - } - } + var li = $(this).parent('li') + li.addClass('selected'); + + var prev = li.prevAll('li.selected'); + if(prev.length) prev.removeClass('selected'); + var next = li.prevAll('li.selected'); + if(next.length) next.removeClass('selected'); }); }) })(jQuery); - -SelectionGroupSelector = Class.create(); -SelectionGroupSelector.prototype = { - parentNodeWithTag: function(tagName){ - var el = this.parentNode; - while(el.parentNode && el.tagName.toLowerCase() != tagName) el = el.parentNode; - return el; - } -} - -SelectionGroupSelector.applyTo('ul.SelectionGroup input.selector'); \ No newline at end of file