I hand write html, and use tr id="123" or tr record_id="123"
and use
jQuery("tr").click(function(){$(this).parent().attr("record_id")})
-Thadeus
On Thu, Mar 4, 2010 at 10:56 AM, snfctech <[email protected]> wrote:
> I am fond of a design pattern whereby a list of records (such as
> orders) is displayed in the top part of a view and the detail for a
> highlighted record is displayed in the lower part of the view via AJAX
> onclick (such as the customer and product details for the order).
>
> I like web2py because I want a "higher-level" tool that allows be to
> do more with less code. But when I tried implementing my favorite
> design pattern with the web2py CRUD and AJAX helpers, I found the code
> to be quite awkward, namely:
>
> I give the list view table and id as a CRUD parameter which I use to
> add the onclick event to the table rows on domready:
>
> order_list = crud.select(db.os_order,_id='order_list',...
>
> and:
>
> $('#order_list tbody tr').click(function() {
> var order_id = $(this).find('.order_id').attr('id');
> ajax('default/orderdetail',[order_id],'order_detail_div');
> });
>
> But here's the really ugly part of the design:
>
> In order to get the record id I have to represent my ID field with a
> hidden INPUT element:
>
> db.os_order.id.represent = lambda value: (value,
> INPUT(_type='hidden', _id=value,_value=value, _class='order_id'))
>
> And in order to uniquely identify the element and pass it's value to
> the web2py AJAX helper I give the record ID as both it's "id" and
> "value" attributes. Which leads to the unhappy retrieval in the
> controller by means of:
>
> order_id = list(request.vars)[0]
>
> All of this seems a bit un-elegant, don't you think? I guess I could
> do away with the web2py AJAX helper and use a for loop to add
> id="order_123" to my table rows, but now I'm back to building forms
> from scratch - so what's the point of the web2py high-level helpers?
>
> If somebody could point out a way to implement this design pattern in
> a more elegant fashion by still leveraging web2py form helpers, it
> would be much appreciated.
>
> Thanks.
>
>
>
>
>
>
>
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/web2py?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en.