Not sure what you are trying to do, work in the controller or view, or why 
you are trying to append with JS.

Maybe you could learn to use the web2py helpers...
e.g. controller
def example():
    cart = db(db.cart).select().as_list()
    mydiv = DIV(cart, _id='Debug_Discount' )
    return dict(mydiv=mydiv)

view  example.html
    {{=mydiv}}

OR
e.g. controller
def example():
    cart = db(db.cart).select()
    mydiv = DIV(_id='Debug_Discount' )
    return dict(mydiv=mydiv, rows=rows)

view  example.html
    {{=mydiv}}
    <hr />
    <script>
        {{ =ASSIGNJS(cart) }}
        $('#Debug_Discount').html(cart);
    </script>

Not sure whether any of the above will work or help,  but just experiment 
until you learn how best to mix it all together. 



On Tuesday, 21 May 2019 17:40:59 UTC+1, Vlad wrote:
>
> ALMOST :)
>
>     result += ASSIGNJS(cart=cart)
>     result += "$('#Debug_Discount').append('<div>'+cart+'</div>');"
>
> this comes out as [object Object]
>
> But generated Javascript (as far as the object's content is concerned) 
> seems right - I think I am missing the final touch, some javascript trick 
> that would print it fully.
>
> Here is actual Javascript generated:
>
> $('#Debug_Discount').append('<hr/>');
> var cart = [{"id": 125, "cart": 40, "product": 161, "quantity": 1, 
> "price": 3000, "imported": null, "is_active": true, "created_on": 
> "2019-05-17 15:47:52", "created_by": 1, "modified_on": "2019-05-17 
> 15:47:52", "modified_by": 1}];
> $('#Debug_Discount').append('<div>'+cart+'</div>');. 
>
> Good ideas on final touch? 
>
> On Tuesday, May 21, 2019 at 11:34:54 AM UTC-4, villas wrote:
>>
>> Maybe this:  ASSIGNJS
>>
>> http://www.web2py.com/books/default/chapter/29/05/the-views#ASSIGNJS
>>
>>
>>
>> On Tuesday, 21 May 2019 15:43:25 UTC+1, Vlad wrote:
>>>
>>> I am calling ajax function with :eval and setting up some javascript 
>>> [from the controller] to be executed [as per :eval option js is executed in 
>>> the end], something like this: 
>>>
>>>     result = "$('#DebugID').append('<p>"
>>>     result += "CONTENT"
>>>     result += "</p>');"
>>>     return result
>>>
>>> Now, this works, and it displays <p>CONTENT</p> at the right place. 
>>>
>>> But here is a catch: instead of "CONTENT" I want it to display an 
>>> object, for example Rows object which is returned by db.select. 
>>> In other words, whatever comes out when {{=rows}} is specified in html 
>>> view, I want to send via javascript. 
>>>
>>> Obviously, the following 2 options are grossly incorrect and don't work, 
>>> for obvious reasons:  
>>>    result += XML(rows)
>>>    result += "={{rows}}"
>>>
>>> So, how do I make the stuff display properly as passed over vial 
>>> javascript? 
>>>  
>>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/c5abcf26-bfd9-4461-baea-2f62ea695d61%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to