Hello Donald,

Thanks a lot for your detailed answer! I am going to try it; it seems to be
exactly what I need and from your instructions, it should be simple to set
up.
I really appreciate your help! :-)

Best regards,

Clara



On Tue, Aug 16, 2016 at 8:14 PM, Donald McClymont <donaldm2...@gmail.com>
wrote:

> I have got something like this working - basically based on the hradio
> widget which was developed by s-cubism
>
> so I define a widget in a module along the following lines:
>
> def hcheckbutton_widget(field, value, **attributes):
>     rows = SQLFORM.widgets.checkboxes.widget(field, value).elements('tr')
>     inner = []
>     for row in rows[:-1]:
>         button, label = row.elements('td')[0]
>         label.attributes.update(_for=button.attributes['_id'],
>                                 _class='btn btn-xs', _autocomplete="off")
>
>         inner.append(SPAN(button, ' ', label,
> _style='padding-right:10px;'))
>     return DIV(_class='btn_group', *inner, **attributes)
>
> You would then attach the widget to a field in your model or controller eg:
> db.viewscope.filters.requires = IS_IN_SET(['Scope', 'Category',
> 'AnswerGroup', 'Date', 'Event'], multiple=True)
> db.viewscope.filters.widget = hcheckbutton_widget
>
> So this gives you horizontal buttons with a checkbox next to them - which
> I think is OK as makes display clearer as to what is selected.  Final step
> for me was some javascript on the form to add another class for checked
> buttons and user selection.  The following stuff works if you are happy to
> apply to all checkboxes on the form.  Some scenarios might allow at least
> initial classes to be set when the widget runs - however I change my
> selections after the form is created so it didn't work for me.
>
> So I have the following javascript included in the view and within a
> document ready function:
>
>     $('input[type=checkbox]').each(function() {
>         if ($(this).prop('checked')) {
>     $(this).next().addClass('btn-success');
>         }
>         });
>
>     $('input[type=checkbox]').click(function () {
>         $(this).next().toggleClass("btn-success")
>         });
>
> This just uses bootstrap 3 btn-success class to get green buttons for the
> selected ones but it doesn't use the javascript function you suggested.
> However hopefully gives you a suggestion of one way to get working.
>
> Regards
> Donald
>
>
>
>
> On Saturday, August 13, 2016 at 4:14:55 PM UTC+1, clara wrote:
>>
>> Hello,
>>
>> I would like to use this tabselect (tabselect widget
>> <http://fredibach.ch/jquery-plugins/tabselect.php>) widget instead of
>> the web2py's default multiselect widget.
>>
>>
>> <https://lh3.googleusercontent.com/-mAmSBvuEAjE/V681EsU0p_I/AAAAAAAAU1E/O4y0Es-8d4w26CVOI4Z3dmOOGUgCTUHUACLcB/s1600/tabselect.PNG>
>>
>> I have now a simple:
>>     form = SQLFORM(db.mytable)
>>
>> to get the form in place and I just want to use this widget for one of
>> the fields.
>>
>> I did some testing with the widget and I know how to initialize it or to
>> retrieve the selected values to update the record. But I am not so sure
>> about how to integrate this in a form.
>>
>> I understand that there are two approaches to get this done but I am
>> really in doubt about which path to follow.
>> - Define a custom widget (seems obscure to me); or
>> - "Build" the form field by field to get my widget in the form. However,
>> I would also need to "append" the widget information to the submit data.
>>
>> I will appreciate any hints or suggestions on this. Best regards,
>>
>> Clara
>>
>>
>>
>>
>>
>>
>>
>>
>> --
> 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 a topic in the
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/web2py/Si1ZJB0Ak0A/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> web2py+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to