简体   繁体   English

函数内的事件侦听器

[英]Event listener inside a function

I have a select on my page:我的页面上有一个select

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

With a javascript function that handles which options have to be displayed:使用处理必须显示哪些选项的 javascript 函数:

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

What I'm trying to do is if the selected option is all , I have to display everything in aList , otherwise based on the selected option I have to display only the related options.我想要做的是,如果选定的选项是all ,我必须在aList显示所有内容,否则根据选定的选项,我必须只显示相关选项。 Is my usage of onchange event correct?我对onchange事件的使用是否正确?

Initially I thought of making aList global, but after some reading on globals in JS, I got to know it is not a very good practice.最初我想将aList全局,但是在阅读了 JS 中的全局变量之后,我知道这不是一个很好的做法。

Thanks in advance!提前致谢!

UPDATE: aList contains some string values.更新: 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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 函数未在事件监听器中调用 - function not calling inside event listener 删除在函数内部创建的事件侦听器? (JavaScript) - Remove event listener that was created inside of a function? (JavaScript) 事件监听器在普通的旧函数(){}中不起作用 - Event Listener not working inside plain old function () {} Function 内部事件监听器不会运行 - Function inside event listener won't run 在事件侦听器内的匿名函数内运行一个函数 - Run a function inside an anonymous function inside event listener 在另一个事件侦听器函数内定义的事件侦听器函数是否访问全局变量的副本? - Does an event listener function defined inside another event listener function access the copy of global variables? 如何在类中的html中添加带有函数回调的事件监听器? - How to add event listener with function callback in html inside a class? 为什么我的事件侦听器在函数内部不起作用? - Why isn't my event listener working inside the function? 为什么我的提取请求不在事件侦听器回调函数内执行? - Why is my fetch request not executing inside an event listener callback function? jQuery on(&#39;click&#39;)直接调用函数,而不是在事件侦听器中定义它 - JQuery on('click') call function directly instead of defining it inside the event listener
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM