2013-05-16 5 views
-1

Я хотел бы направить данные в объект, чтобы иметь динамические данные для публикации через ajax.Вставить данные в объект

Вот мой нерабочим код:

$j(document).ready(function() { 
     var data = { 
      test: 'test' 
     } 

     $j('.fancyajax').bind('click', function() { 
       var myclass = '.' + $(this).attr("id"); 
       $j(myclass).each(function() { 
         data.push({$j(this).attr("name") : $j(this).val()}); 
       }); 
     }); 
     $j('.fancyajax').fancybox({ 
       ajax: { 
        type: "POST", 
        data: data 
       } 
     }); 
}); 
+0

что такое '$ j (this) .attr (" name ")'? Я не вижу объявления '$ j'. Возможно, есть ошибка – Kasyx

+0

'var $ j = jQuery.noConflict();' – pistou

ответ

3

Array.push() для массивов - для хэшей вы можете просто сделать:

data[{$j(this).attr("name")] = $j(this).val(); 
2

Попробуйте это:

$j('.fancyajax').bind('click', function() { 
    var myclass = '.' + $(this).attr("id"); 
    $j(myclass).each(function() { 
     data[$j(this).attr("name")] = $j(this).val(); 
    }); 
}); 

Для того, добавить некоторые данные в объекты javascript вам нужно сделать lik е:

data['new variable name'] = 'new variable'; 
1

Нажмите, если для массива, но данные объекта, таким образом, это должно работать:

$j(myclass).each(function() { 
         data[$j(this).attr("name")] = $j(this).val(); 
       }); 
Смежные вопросы