0

I'd like to know how to reference a method in HTML that is in an object in my JavaScript file, or if that is even good practice.

HTML

<select class="ranking" name="rank" id="" onchange = "if(this.selectedIndex) Someobj.Search.chosenRank();">
    <option value="Last_Updated">Last Updated</option>
    <option value="Relevance">Relevance</option>
    <option value="Distance">Distance</option>
</select>
<script src="static 'main/js/search.js"></script>

JavaScript

Someobj.Search = {
    chosenRank: function(){
        alert("you chose" + this.selectedIndex );
    }
}
Wang Liang
  • 4,244
  • 6
  • 22
  • 45
  • Possibly answered here: http://stackoverflow.com/questions/9530954/how-to-call-external-javascript-function-in-html – Akshay Mahajan Mar 15 '17 at 20:27
  • Possible duplicate of [How to call external javascript function in HTML](http://stackoverflow.com/questions/9530954/how-to-call-external-javascript-function-in-html) – Akshay Mahajan Mar 15 '17 at 20:27

1 Answers1

1

It's generally better to separate code from your HTML. I'd recommend something along the lines of:

document.querySelector(".ranking").addEventListener("change", Someobj.Search.chosenRank);
MarkSill
  • 73
  • 1
  • 8