.live () - назначать обработчики для будущих элементов создания. Однако на вашем сайте вы перезагружаете страницу, чтобы .live не имел никакого значения. (вы отправляете форму)
Похоже, вы хотите сделать ajax-запрос, чтобы добавить товар в корзину и обновить его, отображаемый на сайте? Это было бы при отправке формы, и если jcart создается динамически, тогда да, live это ответ.
$('.jcart').live('submit', function() {
// aggregate form elements into object and send via ajax
// update the cart on the page, since we haven't reloaded the page the light box is still displayed
});
По поводу комментария:
Когда вы отправляете ajax-запрос, jquery принимает объект в качестве аргумента. Такие как $.post('urlToPostTo.php', { title: 'title of whatever', id: 5 } );
Сервер видит это так же, как:
<form id="myForm" action="uroToPostTo.php" method="POST" >
<input type="text" name="title" value="title of whatever" />
<input type="hidden" name="id" value="5" />
<input type="submit" name="submit" value="submit" />
</form>
Так что, если вам нужно объединить входные данные формы в объект, есть несколько способов (даже несколько плагинов jquery, которые могут вам помочь). Примитивный путь будет:
var $form = $('#myForm'); // instead of finding myForm over and over, cache it as a variable to use
var objToSend = {};
objToSend.title = $form.find('input[name=title]').val();
objTosend.id = $form.find('input[name=id]').val();
$.post( 'urlToPostTo.php', objToSend );
Более элегантное решение состоит в том, чтобы что-то проходило через все элементы формы и помещало их в объект для вас. Плагины типа http://docs.jquery.com/Plugins:Forms делают это немного проще.
Конечный результат - элементы формы вставляются в объект для отправки в ваш скрипт.