JAVASCRIPT 5
Select-list.js Guest on 8th April 2021 04:09:16 AM
  1. function selectList(opts)
  2. {
  3.       var ITEMS;
  4.  
  5.       function update()
  6.       {
  7.             opts.list.html('');
  8.             opts.select.children('option').each(function()
  9.             {
  10.                   if(ITEMS[$(this).val()]) $(opts.funcItem($(this))).appendTo(opts.list);
  11.             });
  12.       }
  13.       function reset()
  14.       {
  15.             ITEMS = {};
  16.             $.each(opts.items, function(i,d) { ITEMS[""+d] = true; });
  17.             update();
  18.       }
  19.  
  20.       $('a.eliminar[rel]').live('click', function()
  21.       {
  22.             ITEMS[$(this).attr('rel')] = null;
  23.             $(this).parents('tr').first().remove()
  24.       });
  25.  
  26.       $(opts.select).change(function()
  27.       {
  28.             if(parseInt($(this).val()))
  29.             {
  30.                   ITEMS[$(this).val()] = true;
  31.                   update();
  32.             }
  33.             $(this).val(0);
  34.       }).parents('form').first().bind('reset', reset);
  35.  
  36.       reset();
  37. }
  38.  
  39. /* EJEMPLO:
  40. $(function()
  41. {
  42.       selectList({
  43.             select: $('#cat'),
  44.             list: $('#cat_list'),
  45.             items: [1, 2, 3],       // [<?php echo implode(', ', $CAT) ?>],
  46.             funcItem: function($D)
  47.             {
  48.                   var s = "<tr>";
  49.                   s += "<td width=16>";
  50.                         s += "<input type=hidden name='cat[]' value='"+$D.val()+"' />";
  51.                         s += "<a href='javascript:void(0)' class=eliminar rel='"+$D.val()+"'><img src='../img/file-del.gif' width=16 height=16 border=0 /></a>";
  52.                   s += "</td>";
  53.                   s += "<td><a href='catedt.php?id="+$D.val()+"' class=curmidtab>"+$D.attr('rel')+"</a></td>";
  54.                   s += "</tr>";
  55.                   return s;
  56.             }
  57.       });
  58. });
  59. */

Paste-bin is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.