Richard - I've been trying to get this working but am not having any luck. I have the lazy_options_widget working with the first field being a suggest_widget, but am trying to implement with your suggestion above using a SELECT element as the first field, but it isn't working. I'm using this in an edit for generated by a smartgrid and am using the following for the FIRSTFIELDNAME as you have it above.
benefit_benefitProgramId This is the ID associated with the first field when I look at the HTML that is generated. I think I'm following along with the javascript ok, but don't understand why my code isn't working. Any tips on what to look for? Did you actually have this working in a sample? Any help would be appreciated. -Jim On Wednesday, August 29, 2012 9:25:07 AM UTC-5, Richard wrote: > > Here the code for use a regular drop down and avoid use of autocomplete > plugin dependency. > > In controller : > conditional_field_trigger_selected_event_js = > '$("select[name=FIRSTFIELDNAME]").change(function() {var val = > $(this).children(":selected").attr("value");$(this).trigger($(this).attr("id") > > + "__selected", [val]);});' > > In view : > <script type="text/javascript"> > {{=XML(conditional_field_trigger_selected_event_js)}} > </script> > > Richard > > On Wed, Aug 29, 2012 at 10:21 AM, Anthony <abas...@gmail.com <javascript:> > > wrote: > >> See >> http://stackoverflow.com/questions/8146260/best-practice-for-populating-dropdown-based-on-other-dropdown-selection-in-web2p/8152910#8152910 >> for >> links to some other related recipes. >> >> Anthony >> >> >> On Wednesday, August 29, 2012 3:04:10 AM UTC-4, lyn2py wrote: >>> >>> Thank you Anthony and Richard, I have tried to use IS_IN_DB in the form >>> of return IS_IN_DB(...) but it doesn't work. >>> >>> The reason why I am looking for this function is because I am trying to >>> load the options or a second field, based on what is chosen in the first >>> field. Both are SELECTs. >>> >>> Like this example here: >>> http://dev.s-cubism.com/plugin_lazy_options_widget >>> but the first field is a select instead of autocomplete. >>> >>> I am unable to find a function that will return a SELECT field (based on >>> the chosen rows) for the ajax success function. >>> >>> On Wednesday, August 29, 2012 12:50:13 AM UTC+8, Anthony wrote: >>>> >>>> Yes. By default, a reference field gets a validator like this: >>>> IS_IN_DB(db, db.sometable._id, db.sometable._format). However, the >>>> IS_IN_DB() validator can take a Set object as the first argument instead >>>> of >>>> db, and the list will be based on the records defined by that Set. In that >>>> case, you'll have to explicitly define the validator: >>>> >>>> requires=IS_IN_DB(db([your query]), db.sometable.id, db.sometable. >>>> _format) >>>> >>>> Note, when you define your own validator, you also lose the automatic >>>> "represent" attribute for the reference field, so you might want to set >>>> your own: >>>> >>>> represent=db.sometable._format >>>> >>>> Anthony >>>> >>>> On Tuesday, August 28, 2012 12:28:10 PM UTC-4, lyn2py wrote: >>>>> >>>>> Hello experts, >>>>> >>>>> Generally, when we do a SQLFORM, the 'reference table' fields >>>>> automatically gets *all* the available options for choosing as a dropdown >>>>> menu. >>>>> >>>>> However, I would like to get a filtered list instead of *all* of the >>>>> items. Is there an available function I can use to achieve a filtered >>>>> list >>>>> for choosing in the dropdown menu? >>>>> >>>>> Another way to look at this is: >>>>> I would like to generate a SELECT/OPTIONS html using a specific query, >>>>> i.e. it uses the retrieved Rows to generate the HTML. I wonder if there >>>>> is >>>>> a function in web2py for doing this. >>>>> >>>>> I hope my question is understood. Thank you. >>>>> >>>>> >>>>> PS. If there isn't an available function, I appreciate any tips or >>>>> pointers how I can make this work. Thanks! >>>>> >>>> -- >> >> >> >> > > --