user117732
user117732

Reputation: 19

add onchange attribute via jquery or js

i have the following html snippet i need to add onchange = "namefunction(this)" to it once i replaced execute additional instructions

    <select id="test-dropdown">
        <option value="1">One</option>
        <option value="2">Two</option>
        <option value="3">Three</option>
    </select>

later

<select id="test-dropdown" onchange="namefunction(this)">
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>

Upvotes: 0

Views: 198

Answers (2)

Karan
Karan

Reputation: 12629

You can add attribute with jQuery with simply $('#test-dropdown').attr('onchange', 'namefunction(this)');. Try it below.

$(document).ready(function() {
  $('#test-dropdown').attr('onchange', 'namefunction(this)');
});

function namefunction(el) {
  console.log(el.value);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<select id="test-dropdown">
  <option value="1">One</option>
  <option value="2">Two</option>
  <option value="3">Three</option>
</select>

Upvotes: 2

Real Quick
Real Quick

Reputation: 2800

here is a sample code to work with select and add a function using onchange:

<select 
    id="test-dropdown" 
    onmousedown="this.value='';" 
    onchange="selectNumber(this.value);" >
        <option value="1">One</option>
        <option value="2">Two</option>
        <option value="3">Three</option>
</select>

<script>
    function selectNumber(value) {
        alert(value);
        //add additional instructions with value
    }
</script>

Upvotes: 2

Related Questions