函数内的事件侦听器

Event listener inside a function

本文关键字:侦听器 事件 函数      更新时间:2023-09-26

我的页面上有一个select

<select id='cat'>
    <option value='a'>A</option>
    <option value='b'>B</option>
    <option value='all'>all</option>
</select>

使用处理必须显示哪些选项的 javascript 函数:

function funcName(aList) {
    // populates the options for the select tag
    $("#cat").on("change", function(){
        // some computation;
    });
    // uses aList to update some div data
 }

我试图做的是,如果所选选项all,我必须在aList中显示所有内容,否则根据所选选项,我必须仅显示相关选项。我对onchange事件的用法是否正确?

最初我想aList全局化,但是在阅读了一些JS中的全局变量之后,我开始知道这不是一个很好的做法。

提前感谢!

更新:aList包含一些字符串值。

$(function () {
        $("#ddl").change(function () {
            var selectedText = $(this).find("option:selected").text();
            var selectedValue = $(this).val();
          var assignedRoleId = new Array();
          alert("Selected Text: " + selectedText + " Value: " + selectedValue);
          if(selectedValue== "all")
            {
              $("#ddl option").each(function()
                  {
                if(this.value=="all")
                  {
                    assignedRoleId.push();
                  }
                else
                  {
                    assignedRoleId.push(this.value);
                     assignedRoleId.push(" ");
                    $("#selected").html(assignedRoleId);
                    }
                 });
            }
         });
    });
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
Select something:
<select id="ddl">
    <option value="">select one</option>
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="all">all</option>
</select>
<div id="selected">
  </div>