Skip to main content

Catch value of ajax dropdown

This explains how to catch the selected value of the dropdown box (which came from an ajax response), in our form.

Suppose our form has a dependant dropdown, that gets populated from an ajax request to another page.
Now how to catch the value selected in this dynamic dropdown ?

You can use a function like update_val(this.value) as an onchange event to this ajax dropdown. In this function, which is present on your form page, you can update a hidden field in your form with the selected value from the dynamic dropdown.

Because we cannot catch the selected value of the ajax dropdown in our form page directly.

Example: We need to display a dynamic dropdown of fruits based on a value selected from the location dropdown in our form. Here, "ajax_selectbox" is the hidden field in the form "form1".

form page:

function update_val(select_val)
{
document.form1.ajax_selectbox.value = select_val.value;
}

ajax page:

// sample ajax response of fruits, based on the location selected

if($location == 'NY')
{
$arr = array(1=>'Apple',2=>'Mango',3=>'Guava');

echo '<select name="fruits" id="fruits" style="border:1px solid #666666; background-color:#b5d9f7; width:150px" onchange="update_val(this)">
<option value="select">select Fruit</option>';

foreach($arr as $k=>$v)
{
?>
<option value="<?php echo $k; ?>">
<?php echo $v; ?>
</option>
<?php
}
echo '</select>';
}

Comments

Post a Comment

Popular posts from this blog

Joomla validate chrono forms using jquery

It is a common practice to use Chrono forms in our joomla site to setup various forms in the site, be it a contact us form, submit a ticket form, or whatever. I have set the option "validate form" to "No" under chronoform settings in admin panel, and also preferred to not include any js or css files. For validating the chrono forms, i prefer jquery. So first lets add jquery support in our joomla. It is quite simple: 1. Download jquery.js and jquery_min.js (1.4.2 version is enough) and place them in media/system/js folder of your joomla. 2. Edit libraries->joomla->html->html->behavior.php, and add the following function below the mootools() function: function jQuery($debug = null)     {         static $loaded;         global $mainframe;         // Only load once         if ($loaded) {    ...

joomla remove category name in url

-) If anyone is using the lyftenbloggie component, and want to remove the component name and category title from the sef url, follow this hack: (Note: You also need to install the lyftenbloggie extension for ARTIO SEF) Under components/com_sef/joomsef.php, After this code: $location = array();         foreach ($title as $titlePart) {             if (strlen($titlePart) == 0) continue;             $location[] = JoomSEF::_titleToLocation($titlePart);         } Just add this code: if($location[0] == 'lyftenbloggie')         {         $temp_sef = end($location);         $location = array();            $location[] = $temp_sef;         ...

php get content between tags

This involves parsing the dom document. <?php function getTextBetweenTags($tag, $html) {     $dom = new domDocument;     @$dom->loadHTML($html);         $dom->preserveWhiteSpace = false;     $content = $dom->getElementsByTagname($tag);     $out = array();         foreach ($content as $item)     {         $out[] = $item->nodeValue;     }     return $out; } $xhtml = '<tag>abc def</tag><tag>123 456</tag>'; $content2 = getTextBetweenTags('tag', $xhtml); foreach( $content2 as $item ) {     echo $item.'<br />'; } ?> Output: abc def 123 456