best way to dynamically populate dropdown options in jqgrid advanced searching - combobox

What's the best way to dynamically populate dropdown options in jqgrid advanced searching?
1) The first way: use "dataUrl" option of "searchoptions"
Disadvantage: when user add new criteria, and choose the attribute, dataUrl was posted to the server, when user add the same criteria again, dataUrl was posted to the server again, and with twice. very strange.
Advantage: the values user selected previously was there and not cleared.
2) The second way: use "dataInit" option of "searchoptions"
Disadvantage: the values user selected previously was cleared when adding new criteria(can not accepted, because it is not user-friendly, please refer url: the selected value was cleared in dropdown after add new criteria in jqgrid advanced searching)
Advantage: data was loaded into page when the page refreshed and only once.
3) the third way, use "value" option of "searchoptions"
but it's not dynamically, just hard-coded in page.
Could any one share the best practice about the issues. thanks.

I start with the second option. I suppose that you use dataInit in the wrong way. The goal of dataInit to initialize the control, like convert <select> to select2 or set jQuery UI Autocomplete or jQuery UI Datepicker on text input element. One should not fill the control with values. The select control is already created and filled before calling of dataInit.
If one use the first option, one can set HTTP cache header to prevent multiple request to dataUrl.
About the last option: one can set searchoptions.value dynamically inside of beforeProcessing for example. See the answer, this one and this one.

Related

How to set grid column title in dynamic way without using refresh function

I got requirement to set column title per condition.
No Grid method allows me to set column title after table gets rendered.
I tried with setting new title via manipulating its value in options.
But after that, I'll need to call refresh() method to show my new title.
Because in the grid, I always have some columns hidden dynamically.
Refresh() method will make these hidden columns showing again on the screen and I don't want it.
So, is there a way to set new value to column title?
Thanks.
For hiding individual columns, you can use the hideColumn, showColumn and isHidden methods.
You can also use the visible column property to set column visibility at initialization time.
There is no setTitle() method currently implemented, but you can email Shield UI's support and ask them to implement that for you. Depending on their load, they might do it real quick.
Until that is implemented, you can always update the title by using jQuery.

How to programatically disable options in ui-select angularjs

I have two ui-select in my view. I want to disable some values in second ui-select with respect to first. That means when I change values to first, some of the values in second that are related to selected item in first, would be disabled.
If this is database-driven, is there a field which relates the data so as to be able to dynamically check values (e.g., types > subtypes)? If so, you can use ng-if="" to selectively load select items.
You would need some sort of relationship between the values to be able to programmatically (dynamically) perform the task. Otherwise, you'd have to manually do it.

How to dynamically remove field in Drupal 7 custom form using AJAX

Based on the "Add-more button (with graceful degradation)" example available in Drupal examples module I have created a form that can add fields dynamically using AJAX, and now i want to add a separate Remove button to each of those fields so that i can remove individual fields (not just the last field).
Decrementing the number of fields and rebuilding the form only removes the last field in the form.
What's the Drupal way of doing this? and what would be the best approach to achieve my requirement?
So each field gets a remove button next to it? In that case, the button simply needs to target the wrapper for that field (surround the field in an easily identifiable div, and set the ajax target for the button to the same). Hint: the button should also be contained within that wrapper so it also disappears when clicked.

<select> tag brings up dynamically a different set of input fields depending on selection in AngularJS

Im trying to create a form, first element should be a tag with a few options and each of them will dynamically bring up a different set of forms depending on what the user chooses. The idea is within the select tag there will be different categories like cars, properties etc.. first user only sees that and when chose, it will bring up a set of input fields that required for that category.
Anyone got an idea what would be the best way to do it in angular?
Using the ui.router module, you can populate a DOM element (ui-view) with an HTML template file. On selection of the dropdown, you're telling angular to go to a different "state".
Check out the following plunkr I made: http://plnkr.co/edit/jnKQOvkE4nJinEQ5zhr6?p=preview

Salesforce - Populate text are from drop down selection

I have a picklist with three values and a text area that has three values as well, but I would like to correlate one value from the picklist with one value of the text area. Any thoughts as on how I can do this?
If creating a visualforce page is an option, you can do this with a controller extension, or a custom controller. For example, you could override the save() method and have your new save code populate the text for you-- simply create a map of dropdown values to text area content and set the text as desired. It should also be possible to do this without saving by using some of the visualforce built in AJAX hooks: look at the onchange attribute. (Note that last I checked the onchange did not fire properly for lookups, but it may work for dropdowns)
Have a look at the visualforce documentation here: http://www.salesforce.com/us/developer/docs/pages/index.htm

Resources