调用下拉列表中的javascript函数onchange事件

Sha*_*ggy 20 html javascript

我想在下拉列表中的值更改时调用javascript函数.我不想硬编码下拉列表ID.

因此不使用 document.getElementById

我的代码:

<select id ="ddl" name="ddl" onmousedown="this.value='';" onchange="jsFunction(this.value);">
  <option value='1'>One</option>
  <option value='2'>Two</option>
  <option value='3'>Three</option>
</select>

function jsFunction(value)
{
    alert(value);
}
Run Code Online (Sandbox Code Playgroud)

这是错误的 ReferenceError: jsFunction is not defined

小提琴:http://jsfiddle.net/6uyz4b8x/1/

Sil*_*mor 19

你的代码工作正常,你需要在DOM准备好之前声明你的javscript方法.

你的工作榜样


Bar*_*zak 11

我不知道为什么你onmousedown在这里需要这个活动,但你要做的就是把你的功能放在实际使用之上.看下面的snipplet:

<script type="text/javascript">
function jsFunction(value)
{
    alert(value);
}
</script>

<select id ="ddl" name="ddl" onmousedown="this.value='';" onchange="jsFunction(this.value);">
  <option value='1'>One</option>
  <option value='2'>Two</option>
  <option value='3'>Three</option>
</select>
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 6

使用jQuery

 $("#ddl").change(function () {
                alert($(this).val());
            });
Run Code Online (Sandbox Code Playgroud)

jsFiddle


小智 5

你只要尝试一下,就这么简单

 <script>

  $("#YourDropDownId").change(function () {
            alert($("#YourDropDownId").val());
        });

</script>
Run Code Online (Sandbox Code Playgroud)