/[drupal]/contributions/modules/multireference/multireference.js
ViewVC logotype

Contents of /contributions/modules/multireference/multireference.js

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Mon Mar 31 21:12:52 2008 UTC (19 months, 4 weeks ago) by stevem
Branch: MAIN
CVS Tags: DRUPAL-5--1-1, HEAD
Branch point for: DRUPAL-5
File MIME type: text/javascript
Initial commit of multireference module. This CCK field type presents a list (or table) of multiple node or user references.
1 // $Id$
2
3 if (Drupal.jsEnabled) {
4 $(document).ready(function () {
5 $("a.multireference_add_fields").click(function() {
6 // determine field_name + next_item
7 var new_item = $(this).attr("next_item");
8 var field_name = $(this).attr("field_name");
9
10 // select correct row to duplicate
11 var old_item = new_item-1;
12 var row_id = "#" + field_name + "_" + old_item;
13 var new_row = $(row_id).html();
14
15 // replace row ids, etc.
16 var regex = new RegExp( "(item[\_\-])" + old_item, "ig" );
17 var newex = "$1" + new_item;
18 var new_id = field_name + "_" + new_item;
19 new_row = new_row.replace(regex,newex);
20 new_row = '<tr id="' + new_id + '">' + new_row + '</tr>';
21
22 // add row
23 $(row_id).after(new_row);
24
25 // reset values
26 new_id = "#" + new_id;
27 $(new_id).clearForm();
28
29 // update next_item value
30 $(this).attr("next_item",++new_item);
31
32 // reload autocomplete JS
33 $(document).each(Drupal.autocompleteAutoAttach);
34 });
35 });
36
37 $.fn.clearForm = function() {
38 return this.each(function() {
39 var type = this.type, tag = this.tagName.toLowerCase();
40 if (type == 'text' || type == 'password' || tag == 'textarea')
41 this.value = '';
42 else if (type == 'checkbox' || type == 'radio')
43 this.checked = false;
44 else if (tag == 'select')
45 this.selectedIndex = -1;
46 else
47 $(this).children().clearForm();
48 });
49 };
50 }
51

  ViewVC Help
Powered by ViewVC 1.1.2