getting an onclick event to a select option using js

Posted by Vadim.G on Stack Overflow See other posts from Stack Overflow or by Vadim.G
Published on 2012-10-09T21:29:38Z Indexed on 2012/10/09 21:37 UTC
Read the original article Hit count: 186

Filed under:
|
|

i am having a very frustrating problem. I have this code which filters out my results and inputs them into a select box

var syn = <?=json_encode($syn)?>;
function filterByCity() {
        var e = document.getElementById("city_filter");
        var city = e.options[e.selectedIndex].value;
        var selectOptions = document.getElementById('syn_list');
        selectOptions.options.length = 0;

        for (i = 0; i < syn.length; i++) {
            if (city == syn[i]['city'] || city == 'all') {
                selectOptions.options[selectOptions.options.length] = new Option(syn[i]['name'], syn[i]['id'] + '" onclick="updateTxtContent(\'' + syn[i]['id'] + '\')');
            }
        }
    }

as you might see i am adding a onclick listener to every select "option" which look great in the source code of the page itself but if i copy it into an edit i notice this my problem is that the "updateTxtContent()" function is not called.

<select size="10" name="syn_list" id="syn_list" class="span12" dir="rtl" style="text-align:right;">
<option value="13&quot; onclick=&quot;updateTxtContent('13')">option a</option>
<option value="14&quot; onclick=&quot;updateTxtContent('14')">option b</option>

obviously there should be a better way to do this that i am not aware of.

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about html