Hi,

I am adding list items to a list as follows:

      $('#AddTheme').bind('click', function(){

         // Other code

          $theme = $('<li class="Themes"></li>').appendTo
('#Themes');

          $theme.append('<input type="hidden" name="Themes[0].Subject"
value = "' + $subject.val() + '" />');
          $theme.append('<input type="hidden" name="Themes
[0].LevelsCsv" value = "' + levelsTypes.join(",") + '" />');
          $theme.append('<input type="hidden" name="Themes
[0].Description" value = "' + description.val() + '" />');

      });

Basically, every time I add a new item I want to give the next number
to Themes[0], i.e., Themes[1].

If I add 3 themes I will have Themes[0], Themes[1], Themes[2]

Basically, I need to have at all times themes numbered as 0, 1, 2, ...

Could someone please help me out?

Thanks,
Miguel

Just in case, here is my entire code fully commented:

    $('#Cancel').click(function() { location.href = '/Account/
List'; });

    // Themes >>

      // Define remove event
      $('.Remove').livequery('click', function(event) {
        $(this).parent().remove();
      });

      // Bind add button
      $('#AddTheme').bind('click', function(){

        // Define valid
        var valid = new Boolean(true);

        // Define fields
        $description = $('#Description');
        $levels = $('input[name="Levels"]:checked + label');
        $levelsTypes = $('input[name="Levels"]:checked');
        $subject = $('#Subject option:selected');

        // Map levels
        levels = $levels.map(function() { return $(this).text(); }).get
();
        levelsTypes = $levelsTypes.map(function() { return $(this).val
(); }).get();

        // Check subject
        if (!$subject.val()) { valid = false; }

        // Check levels
        if (!levels.length) { valid = false; }

        // Check boolean
        if (valid) {

          // Define theme
          $theme = $('<li class="Themes"></li>').appendTo
('#Themes');

          // Add fields
          $theme.append($subject.text()).append('<br />');
          $theme.append( Levels(levels) + '<br />' );
          if ($description.val()) { $theme.append($description.val
()).append('<br />'); }

          // Add button
          $theme.append('<a href="#Remove" class="Remove">Remover</
a>');

          // Add inputs
          $theme.append('<input type="hidden" name="Themes[0].Subject"
value = "' + $subject.val() + '" />');
          $theme.append('<input type="hidden" name="Themes
[0].LevelsCsv" value = "' + levelsTypes.join(",") + '" />');
          $theme.append('<input type="hidden" name="Themes
[0].Description" value = "' + description.val() + '" />');

          // Add input
          //$theme.append(' <input type="hidden" name="Themes" value =
"' + theme + '" />');

        }

      });

      // Levels
      function Levels(levels) {

        // Check levels
        if (levels.length < 2) return levels.join('');

        // Define first
        var first = levels.slice(0, -1), last = levels.slice(-1);

        // Define result
        var result = first.join(', ');

        // Check last
        if (last) { result += ' and ' + last; }

        // Return results
        return result;

      } // Levels

Reply via email to